Halold |
Отправлено: 19.03.2005, 22:42 |
|
Не зарегистрирован
|
ПраваяКонпка->Закрыть по приложению, "лежащем" в (забыл, как правильно называется) одной горизонтальной "полоске" с кнопкой ПУСК...
При том, что имеющийся обработчик WM_CLOSE (из книжки Архангельского) по Alt+F4 работает и ловит...?
Или, может, менюшку по "ПраваяКонпка->Закрыть" можно вообще запретить? Как обходитесь-то?
Harold. |
|
Gal |
Отправлено: 22.03.2005, 15:30 |
|
Станционный диспетчер
Группа: Участник
Сообщений: 124
|
Запрет закрытия формы по кнопке [X]
void __fastcall TForm1::Button1Click(TObject *Sender)
{
HMENU MenuHandle = GetSystemMenu(Handle, false);
if(MenuHandle)
DeleteMenu(MenuHandle, SC_CLOSE, MF_BYCOMMAND);
}
Запрет закрытия формы по Alt+F4
//В обpаботчике FormKeyDown пишешь:
if (Shift.Contains(ssAlt)&&Key==VK_F4) Tag=1;
//В обpаботчике FormCloseQuery:
if(Tag)
{
CanClose=false;
Tag=0;
}
|
|
** Harold |
Отправлено: 22.03.2005, 16:21 |
|
Не зарегистрирован
|
Большое человеческое Спасибо.
Да... "вот так за спасибо и работаем...." (с) |
|
62316e |
Отправлено: 22.03.2005, 17:09 |
|
Дежурный стрелочник
Группа: Участник
Сообщений: 38
|
Встречный вопрос: Как перехватить WM_CLOSE (точнее QEventType_Сlose, вроди) под CLX???
|
|
Gal |
Отправлено: 22.03.2005, 18:48 |
|
Станционный диспетчер
Группа: Участник
Сообщений: 124
|
извините под CLX пока не пишу. Хотя мне кажется тот код должен работать. Хотя ... Не знаю. |
|
62316e |
Отправлено: 22.03.2005, 19:53 |
|
Дежурный стрелочник
Группа: Участник
Сообщений: 38
|
Тот код роботать точно не будет. Тот код на WinAPI.
|
|
Gal |
Отправлено: 28.03.2005, 14:27 |
|
Станционный диспетчер
Группа: Участник
Сообщений: 124
|
// Чтобы форма не закрывалась при нажатии комбинации клавиш
// Alt+F4, разместите на форме компонент TActionList(ActionList1),
// создайте новый TAction(Action1), и в свойстве ShortCut у Action1
// пропишите комбинацию клавиш Alt+F4, а обработчик события
// OnExecute должен выглядеть следующим образом
// (Form1- ваша форма):
void __fastcall TForm1::Action1Execute(TObject *Sender)
{
// чтобы при сохранении C++Builder не уничтожил обработчик
}
Кстати ActionList в CLX есть (у меня стоит Delph7) |
|