Форум: "Основная";
Текущий архив: 2006.09.17;
Скачать: [xml.tar.bz2];
Внизперехват закрытия окна Найти похожие ветки
← →
Vazelin (2006-08-06 19:57) [0]Привет всем!
Как можно перехватить нажатие кнопки Х на форме?
← →
Rial © (2006-08-06 20:10) [1]Событие
OnCloseQuery
← →
DprYg © (2006-08-06 20:14) [2]А если имеется в виду после нажатия не закрывать форму, а делать еще что-то, то так:
Объявление
procedure WMSysCommand(var Msg: TWMSysCommand); message WM_SYSCOMMAND;
Реализация
procedure TForm1.WMSysCommand(var Msg: TWMSysCommand);
begin
if Msg.CmdType = SC_CLOSE then ... else inherited;
end;
← →
Zeqfreed © (2006-08-06 20:21) [3]> Как можно перехватить нажатие кнопки Х на форме?
type
TForm1 = class(TForm)
private
{ Private declarations }
public
procedure WMClose(var Msg : TWMClose); message WM_CLOSE;
procedure WMNCLButtonDown(var Msg : TWMNCLButtonDown); message WM_NCLBUTTONDOWN;
end;
. . .
procedure TForm1.WMClose(var Msg: TWMClose);
begin
if (Tag = 1) then ShowMessage("OMG!!! You hit the close button!");
inherited;
end;
procedure TForm1.WMNCLButtonDown(var Msg: TWMNCLButtonDown);
begin
if (Msg.HitTest = HTCLOSE) then
Tag := 1
else
Tag := 0;
inherited;
end;
← →
Юрий Зотов © (2006-08-06 21:12) [4]1. if Msg.CmdType and $FFF0 = SC_CLOSE...
2. А зачем вообще все это? Событие OnClose уже отменили?
← →
Ketmar © (2006-08-07 10:49) [5]> [4] Юрий Зотов © (06.08.06 21:12)
а так, видимо, интересней.
← →
Desdechado © (2006-08-07 11:47) [6]> А если имеется в виду после нажатия не закрывать форму,
> а делать еще что-то
А разве в FormClose нельзя прописать Action:=caNone ?
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2006.09.17;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.04 c