Форум: "Основная";
Текущий архив: 2003.07.03;
Скачать: [xml.tar.bz2];
ВнизAlt+F4 Найти похожие ветки
← →
mao (2003-06-20 08:11) [0]Как-то можно отключить срабатывание комбинации клавиш Alt+F4 в своей проге?
← →
pod (2003-06-20 09:04) [1]Попробуй обработать событие: OnCloseQuery
← →
pod (2003-06-20 09:09) [2]Ща точто скажу :эм, а вот держи:
procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
CanClose := False;
end;
← →
Term (2003-06-20 09:27) [3]так он вообще форму не закроет
← →
Nucl (2003-06-20 09:45) [4]хуком на клаву
или если проще, на главной форме
KeyPreview в True
и на KeyDown отлавливаешь эти клавиши.
← →
Karluha (2003-06-20 10:09) [5]OnKeyDown попробуй обработать и Key := #0 сделать
← →
McSimm2 (2003-06-20 10:12) [6]
procedure TMainFrm.BitBtn2Click(Sender: TObject);
begin
MainFrm.Close;
end;
procedure TMainFrm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
if messageDlg("Хотите выйти?",
mtConfirmation,[mbyes,mbno],0)=mryes then
Application.Terminate;
end;
procedure TMainFrm.FormKeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (Key=VK_F4) and (ssAlt in Shift)
then Close;
end;
← →
McSimm2 (2003-06-20 10:15) [7]Аа-а-а, её не нужно закрывать.... тады так:
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (ssAlt in Shift) and (Key=VK_F4) then Key:=0;
end;
← →
Karluha (2003-06-20 10:18) [8]McSimm2 - я може чего не понял, но наверное запрос о закрытии обычно делается в OnCanClose ?
А это:
procedure TMainFrm.FormKeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (Key=VK_F4) and (ssAlt in Shift)
then Close;
end;
ПРОИЗВЕДЕНИЕ ИССКУССТВА БЛИН
Зачем делать закрытие формы по Alt-F4, если форма и сама закроется :)
← →
Karluha (2003-06-20 10:19) [9]Сори. Снимается
← →
mao (2003-06-20 10:23) [10]Ок. Всем сенкью. Всё получилось. :)
← →
McSimm2 (2003-06-20 10:24) [11]:)
← →
pauk (2003-06-20 18:27) [12]а исчо можна так:
public
procedure WM_SYSCOMMAND(var Message: TMessage);
Message WM_SYSCOMMAND;
procedure TForm1.WM_SYSCOMMAND(var Message: TMessage);
BEGIN
if message.WParam= 99999 then Exit
else inherited;
end;
← →
pauk (2003-06-20 18:29) [13]99999 надо разумеется заменить на необходимы код, который можно узнать, если перевести прогу в режим пошагового выполнения и иницировав этот самый Alt+F4
← →
pauk (2003-06-20 18:46) [14]Кстати, прога не будет закрываться не только по Alt+F4 по всем другим способам. Единственный способ - через диспетчер задач
← →
pod (2003-06-21 03:31) [15]Первое придложение мне кажется самое пушечное!
Потом ложиш на форму кнопку close на обработчик пишеш скажем
button3.enebled:=true;
close;
А на OnCloseQuery пишеш типа
if button3.enebled:=true then
CanClose := true;
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2003.07.03;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.007 c