Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
3 / 1 / 1
Регистрация: 07.06.2016
Сообщений: 30
1

Удаление картинки с элемента

11.06.2016, 13:50. Показов 945. Ответов 8
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
День добрый! Не могу понять,почему не получается удалить картинку с элемента с помощью LoadPicture(""). (процедура Sub click)Помогите,пожалуйста!




Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
Dim b As Integer, l As Integer
Dim mas(7, 7) As Integer
Dim nH As Integer
Dim mNap(1, 3) As Integer
Dim masH(1, 3) As Integer
Dim RG As Integer
Dim CG As Integer
 
Private Sub i00_Click()
click 0, 0
End Sub
 
Private Sub i02_Click()
click 0, 2
End Sub
 
Private Sub i04_Click()
click 0, 4
End Sub
 
Private Sub UserForm_Initialize() 
Dim i As Integer
Dim j As Integer
Dim st1 As String
mNap(0, 0) = -1: mNap(1, 0) = 0
mNap(0, 1) = 0: mNap(1, 1) = -1
mNap(0, 2) = 0: mNap(1, 2) = 1
mNap(0, 3) = 1: mNap(1, 3) = 0
nH = 0
 
For i = 0 To 3
    For j = 0 To 3
        st1 = "i" & i & j
      Controls(st1).Picture = ris2.Picture
      mas(i, j) = 1
    Next j
Next i
For i = 4 To 7
    For j = 4 To 7
        st1 = "i" & i & j
      
      Controls(st1).Picture = ris1.Picture
      mas(i, j) = 10
    Next j
Next i
End Sub
 
 
Sub click(R As Integer, C As Integer)
st1 = "i" & R & C
If Controls(st1).Picture = ris3.Picture Then
  st2 = "i" & RG & CG
  Controls(st2).Picture = LoadPicture("")
   
End If
If mas(R, C) = 0 Then Exit Sub
If mas(R, C) > 0 Then
For k = 0 To 3
    nR = R + mNap(0, k)
    nc = C + mNap(0, k)
    If nR < 0 Or nR > 7 Or nc < 0 Or nc > 7 Then GoTo m1
    
    If (mas(R + mNap(0, k), C + mNap(1, k))) > 0 Then
            If (mas(R + 2 * mNap(0, k), C + 2 * mNap(1, k))) = 0 Then
                    masH(0, nH) = R + 2 * mNap(0, k)
                    masH(1, nH) = C + 2 * mNap(1, k)
                    nH = nH + 1
            End If
    End If
m1:
Next k
End If
For l = 0 To nH - 1
 st1 = "i" & masH(0, nH - 1) & masH(1, nH - 1)
      Controls(st1).Picture = ris3.Picture
      RG = R
      CG = C
      
Next l
End Sub
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.06.2016, 13:50
Ответы с готовыми решениями:

Загрузка картинки на сервер по ссылке, отправка, удаление картинки
Какие есть методы, чтобы: а) Загрузить на сервер в папку ../temp картинку по ссылке (например,...

Вставка элемента в заданную позицию, удаление элемента по заданной позиции, поиск заданного элемента
Добавить в класс &quot;Односвязный список&quot; следующие функции: вставка элемента в заданную позицию,...

Списки. Инициализация, добавление элемента в начало и после другого элемента. Удаление элемента
uses crt; type list= ^item; item=record data: integer; next:list; end; var l:list;...

Описать класс «множество» (добавление и удаление элемента, пересечение, объединение и удаление множеств )
Описать класс «множество», позволяющий выполнять основные операции – добавление и удаление...

8
4134 / 2238 / 940
Регистрация: 01.12.2010
Сообщений: 4,624
11.06.2016, 14:06 2
LoadPicture()
0
3 / 1 / 1
Регистрация: 07.06.2016
Сообщений: 30
11.06.2016, 14:11  [ТС] 3
Также ничего не происходит
0
4134 / 2238 / 940
Регистрация: 01.12.2010
Сообщений: 4,624
11.06.2016, 15:15 4
Возможно просто не выполняется условие … в общем, желательно видеть файл с формой и картинками.
0
3 / 1 / 1
Регистрация: 07.06.2016
Сообщений: 30
11.06.2016, 15:41  [ТС] 5
Вот сам файл. Это должно быть игрой. Процедура должна была при клике удалить картинку.
Вложения
Тип файла: rar Lisiy_ugol.rar (31.8 Кб, 3 просмотров)
0
4134 / 2238 / 940
Регистрация: 01.12.2010
Сообщений: 4,624
11.06.2016, 16:46 6
Если не копать глубоко, то у Вас при инициализации формы используются ris2 и ris1 , а после клика, идёт сравнение с хэндлом ris3 и условие не выполняется. Кстати, если картинку всё-таки удалить, то повторный клик - уже приведёт к ошибке.
0
3 / 1 / 1
Регистрация: 07.06.2016
Сообщений: 30
11.06.2016, 16:54  [ТС] 7
В общем в программе прописан клик на элемент i02 и на i04. При клике на i02 ,программа ставит крестик на элемент i04,как доступный ход. И в общем нужно организовать ход шашки. И вот пытаюсь найти метод :C То есть проблема в условии?
0
4134 / 2238 / 940
Регистрация: 01.12.2010
Сообщений: 4,624
11.06.2016, 18:14 8
Предлагаю просто проверить работоспособность функции LoadPicture, например, так :

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
Private Sub UserForm_Initialize()
    i02.Picture = ris3.Picture 'Or Set i02.Picture = ris3.Picture
End Sub
 
Private Sub i02_Click()
    If i02.Picture Is Nothing Then
       MsgBox "Картинка изволит отсутствовать"
    Else
       i02.Picture = LoadPicture() 'Or Set i02.Picture = LoadPicture("")
       i02.ZOrder 'Or Me.Repaint
    End If
End Sub
0
3 / 1 / 1
Регистрация: 07.06.2016
Сообщений: 30
11.06.2016, 18:24  [ТС] 9
В Вашем примере работает,следовательно нужно искать у себя ошибку :C
0
11.06.2016, 18:24
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.06.2016, 18:24
Помогаю со студенческими работами здесь

Сделать добавление элемента в массив и удаление элемента из массива используя STL
Всем привет. Помогите пожалуйста написать. Нужно использовать STL. Необходимо сделать добавление...

Удаление минимального положительного элемента, расположенного после последнего отрицательного элемента
В одномерном массиве размерностью n удалить минимальный среди положительных элементов, выбранный из...

Реализация списка.Удаление хвостового элемента.Поиск элемента
Всем привет,мое задание выглядит так : В класс List&lt;T&gt; из классной работы добавить следующие...

Нахождение максимального элемента кучи, добавление элемента, удаление элемента из кучи
Дано бинарное дерево-куча. Нужно найти максимальный элемент (корень дерева), добавить новый...

Удаление элемента из списка и поиск элемента
Нужно удалить определенный элемент из списка. Найти элемент в списк и вывести на него всю...

Удаление картинки
ребят подскажите пожалуйста как сделать так что бы при смене картинки удалялась старая. сейчас...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru