![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
Гость_gudok |
|
|||
Unregistered |
Как сделать , чтобы при нажатии ESC приложение не закрывалось?
![]() |
|||
|
||||
RAN |
|
|||
Опытный ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 709 Регистрация: 14.3.2003 Где: Щёлково Моск.обл. Репутация: 5 Всего: 6 |
Модератор: Задавая подобные вопросы, пишите более подробно об используемых компиляторах и оболочках (MFC, VCL, API). Ваш вопрос пораждает другие вопросы и до сути мы дойдём топика через три (оффтопика)
|
|||
|
||||
mr.DUDA |
|
|||
![]() 3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 25 Всего: 232 |
скорее всего автор имеет ввиду Dialog-based приложение сделанное в Borland C++ Builder
-------------------- ![]() |
|||
|
||||
Unregistered |
|
|||
Unregistered |
mr.DUDA
Почти угадал. Работаю я в VC++ при помощи MFC. |
|||
|
||||
RAN |
|
|||
Опытный ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 709 Регистрация: 14.3.2003 Где: Щёлково Моск.обл. Репутация: 5 Всего: 6 |
Ну, вот добрались до сути. Посчитай топики
![]() Тебе надо в обрабатывать событие OnKeyDown и отлавливать VK_ESCAPE. Хотя может кто-нибудь другой выход предложит. |
|||
|
||||
mr.DUDA |
|
|||
![]() 3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 25 Всего: 232 |
Переопредели виртуальную функцию OnCancel в своём диалоге, так чтобы она ничего не делала
![]() Это не просто а очень просто: 1) заходишь в ClassWizard 2) выбираешь класс своего диалога в списке "Class name" (например CTestDlg) 3) в списке "Object IDs" выбираешь "IDCANCEL" 4) в списке "Messages" тыцкаешь 2 раза на "BN_CLICKED", жмешь "Ok". Получили обработчик "OnCancel" для класса "CTestDlg". Всё что нам нужно - закомментировать строку "CDialog::OnCancel", чтобы при нажатии ESC, или "Cancel", или "Alt+F4" диалог не закрывался ![]()
Это сообщение отредактировал(а) mr.DUDA - 24.8.2003, 14:55 -------------------- ![]() |
|||
|
||||
RAN |
|
|||
Опытный ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 709 Регистрация: 14.3.2003 Где: Щёлково Моск.обл. Репутация: 5 Всего: 6 |
Ха, mr.DUDA, я так понял, что крестиком и Alt F4 диалог должен закрываться, а ESC - нет. Я прав, gudok?
|
|||
|
||||
mr.DUDA |
|
|||
![]() 3D-маньяк ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 8244 Регистрация: 27.7.2003 Где: город-герой Минск Репутация: 25 Всего: 232 |
Если так, то нужно определить метод PreTranslateMessage для диалога, в котором прописать:
ЗЫ, хотя я все-таки думаю, что имелось ввиду именно закрытие окна, а не только реакция на ESC -------------------- ![]() |
|||
|
||||
Гость_gudok |
|
|||
Unregistered |
Всем спасибо.
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "С++:Общие вопросы" | |
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |