СообЧа > База Знаний > Программирование > Visual Basic > Формы и элементы управления

Вопрос

Как сочинить «пасхальное яйцо» (через asc коды?) при активном окне программы?

Ответ

Если я правильно тебя понял то попробуй такую конструкцию.

Dim MassKeys(0 To 250) As Boolean
'Здесь будут храниться все нажатые клавиши Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer)
'Если клавиша не нажата, то она типа нажата и мы это запоминаем :)
'ну и так до бесконечности If MassKeys(KeyCode) = False Then MassKeys(KeyCode) = True
'А теперь проверяем нажата ли нужная конфигурация кнопок (здесь: "Ctrl" + "Alt" + "a")
'и если да то яичко у вас в руках If MassKeys(17) = True And MassKeys(18) = True And MassKeys(65) = True Then
'Скажем что все кнопки у нас отпущены дабы не было казусов MassKeys(17) = False MassKeys(18) = False MassKeys(65) = False MsgBox "Пасхальное яйцо" End If End Sub Private Sub Form_KeyUp(KeyCode As Integer, Shift As Integer)
'Ну а здесь при отпускании клавиши говорим что она отпущена :) MassKeys(KeyCode) = False End Sub


P.S. Чуть не забыл. Этот код будет работать только в том случае если на форме больше нет никаких элементов. В противном случае события _KeyUp и _KeyDown надо написать для того элемента который находиться в фокусе

Из конференции Expert_FAQ

Если на форме есть элементы, то надо уставить свойство формы KeyPreview равным True, тогда все нажатия клавиш будут сначала обрабатываться формой а уж потом элементом, находящимся в фокусе.

grix1



Copyright © 2000-2004 Сообщество Чайников
Контактная информация