Страница: 1 |
Страница: 1 |
Вопрос: Excel, VBA и игра на память :))
Добавлено: 19.11.06 15:01
Автор вопроса: Ozonep
Всем привет :) Такое дело, нам по инфе задали сделать любую игру в VBA через Userform'у. Я решил сделать "игру на память". Ну это где квадрат 6*6 поделен на ячейки, в каждой ячейке скрытая цифра, и нужно найти все пары цифр, думаю знаете такую игру... Так вот, понял что взял на себя сложную задачу, одни препятствия на пути. В связи с этим можно задать пару вопросов гуру? :)
1) Я нарисовал квадрат, поделил на ячейки, в каждую ячейку поместил Label'ы с разными номерами. И сделал прописал ко всем Label Visible = false. А что надо прописать, чтобы при например двойном щелчке мыши он становился видимым?
2) И еще нубский вопрос, как в Lable задать СВОЙ фон? :( Сам квадрат с яейками у меня темно-зелоного цвета, а у Label фон белый... Ну или можно выбирать, но только из того, что дается... А как запихнуть свой, сторонний фон?
Ответы
Всего ответов: 5
Номер ответа: 1
Автор ответа:
Ozonep
Вопросов: 4
Ответов: 6
Профиль | | #1
Добавлено: 19.11.06 15:07
Все, со вторым вопросом разобрался ) Но появился новый - Как поставить ограничение на кол-во "Visible" Lable-ов? То есть чтобы я не мог сделать видимым сразу 3 и более Lable'a
Номер ответа: 2
Автор ответа:
night-roll
Вопросов: 36
Ответов: 326
Профиль | | #2
Добавлено: 19.11.06 15:21
можно совет?
не используй свойство Visible.
используй свойство
Номер ответа: 3
Автор ответа:
Ozonep
Вопросов: 4
Ответов: 6
Профиль | | #3
Добавлено: 19.11.06 16:54
Night-roll, спасибо! Попытаюсь разобраться что эт такое все.
Может подскажешь еще, как сделать, чтобы на Lable'ы можно было "кликать" мышкой и этим самым показалось его содержимое, когда запускаешь саму программу, а то просто появляется квадрат без чисел, и попытки кликнуть по Лэйблу ни к чему не приводят, ессно Просто не хочу все заново переделывать, чтобы вместо Лэйблов баттоны были...
Номер ответа: 4
Автор ответа:
avdey
ICQ: 219571279
Вопросов: 34
Ответов: 486
Профиль | | #4
Добавлено: 20.11.06 16:22
Dim defCol As Long
defCol = Label1.ForeColor 'Начальный цвет шрифта
End Sub
Private Sub Label1_Click()
If Label1.ForeColor = Label1.BackColor Then
Label1.ForeColor = defCol
Else
Label1.ForeColor = Label1.BackColor 'Цвет шрифта = фону
End If
End Sub
Номер ответа: 5
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #5
Добавлено: 20.11.06 17:22
Label1.ForeColor = RGB(10,20,30)
BackColor так же...
Когда Label1.Visible=Flase - его нет...
т.е. событие двойного клика не придет...
У лабела есть BackStyle, если = 0, то лабел типа прозрачный...
А вообще я б советовал заменить Label на Image... Он тоже как и лабел поддерживает прозрачность, но ещё как фон можно картинку ставить... В итоге когда ненадо - убираешь картинку и имидж прозрачный (ане visible=false), т.е. событие DblClick всеравно придется... и внем уже обработать дальнейшие действия...