Компьютерный форум
Правила
Вернуться   Компьютерный форум > Форум программистов > Программирование под Windows > Visual Basic
Перезагрузить страницу Как нажатием одной клавиши закрыть форму VBA
Ответ
 
Опции темы Опции просмотра
  (#1 (permalink)) Старый
Avsha Avsha вне форума
Member
 
Сообщений: 22
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 20.12.2005
По умолчанию Как нажатием одной клавиши закрыть форму VBA - 19.01.2006, 08:08

Требуется нажатием одной клавиши закрыть форму VBA (например Esc).

Код:
Private Sub UserForm_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
    If KeyCode = 27 Then Unload Me
End Sub
Этот код не всегда срабатывает из-за того, что фокус находится на других элементах формы.

Как сделать, чтобы форма по любому закрывалась по нажатию одной кнопки, вне зависимости от фокуса?
Не писать же обработчик нажатия клавиши на все объекты формы
Ответить с цитированием
  (#2 (permalink)) Старый
FlamerZ FlamerZ вне форума
Member
 
Сообщений: 49
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
Регистрация: 10.02.2006
По умолчанию 10.02.2006, 21:43

Вот пример как ловить нажатия клавиш (вне программы тоже поймает)
1. Положи на форму таймер, поставьте интервал в 50
2. Добавьте в модуль:


Код:
Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer
   Public Const VK_TAB = &H9 ' Константа для TAB key.   
                             ' константы для других кнопок посмотри в API вьювере

   ' Помести в событие Timer:   
   If GetAsyncKeyState(VK_TAB) And KEY_SHIFT = True Then
        msgboх "Кто то трогает ТАБ", vbinformation
   End If
Ответить с цитированием
Ads
Ответ

Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Trackbacks are Вкл.
Pingbacks are Вкл.
Refbacks are Выкл.


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Закрыть главную форму как это реализовать imported_Rene C++ Builder 1 15.06.2011 19:54
Запретить ввод более одной десятичной точки в форму ввода("некорректный ввод") adller PHP 1 14.01.2011 20:23
Windows7 - системный блок выключается только нажатием клавиши reset 024625 Любые вопросы от новичков 23 12.04.2010 19:05
Как закрыть форму mfc и вызвать новое окно toshkaexe Visual C++ 2 24.10.2007 22:20
Закрыть форму в конструкторе roman83 Delphi 2 12.10.2007 11:54
Как нажать на кнопку и закрыть форму St0rMiK C++ Builder 4 06.11.2006 17:04
Вывод формы в SDI нажатием на кнопку mimoza Visual C++ 1 03.04.2006 12:09
Как чтобы в одну форму вводились данные и обрабатывались , а в другой форму результат sq-Weezee C++ Builder 10 04.02.2006 00:38
Компилирование программы с нажатием на первую и вторую кнопку vasya_uol Вопросы начинающих программистов 7 15.12.2005 17:51
Создание обработки нажатием клавиатуры kpu12 C++ Builder 2 26.08.2003 18:45
Прерывание процедуры нажатием на кнопку Button1 Anonymous C++ Builder 2 21.12.2002 01:13



Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
Нardforum.ru - компьютерный форум и программирование, форум программистов