изход от форма
5 отговора
224 прегледа
изход от форма
Здравейте,
как мога да разбера, че формата се затваря от "Х", а не примерно от някой бутон?
Светът е малък нека си помагаме.
как мога да разбера, че формата се затваря от "Х", а не примерно от някой бутон?
Светът е малък нека си помагаме.
Re: изход от форма
В продължение на 10 минути пробвах и не успях да разбера,
може би всеки път когато затваряш формата от бутон или друго трябва да сет-ваш някакъв флаг
-------------
Special killer double trouble triple extra nicotine monster!
може би всеки път когато затваряш формата от бутон или друго трябва да сет-ваш някакъв флаг
-------------
Special killer double trouble triple extra nicotine monster!
Re: изход от форма
Пишеш в OnCreate на формата
RealyClose:=false;
Пишеш в OnClose на формата
if (ReallyClose)
then Action := caFree;
else Action:= caNone;
Слагаш един бутон на формата и в OnClick на бутонът пишеш
RealyClose:=true;
Сега от програмата ще се излиза само през бутона, а не от Х....
RealyClose:=false;
Пишеш в OnClose на формата
if (ReallyClose)
then Action := caFree;
else Action:= caNone;
Слагаш един бутон на формата и в OnClick на бутонът пишеш
RealyClose:=true;
Сега от програмата ще се излиза само през бутона, а не от Х....
Re: изход от форма
//Декларацията
procedure GetSysMessage_SC_CLOSE(var MSG: TMessage);
message WM_SYSCOMMAND;
//Използването
procedure TForm1.GetSysMessage_SC_CLOSE(var MSG: TMessage);
begin
if Msg.WParam = SC_CLOSE then
begin
//прави нещо
end;
end;
procedure GetSysMessage_SC_CLOSE(var MSG: TMessage);
message WM_SYSCOMMAND;
//Използването
procedure TForm1.GetSysMessage_SC_CLOSE(var MSG: TMessage);
begin
if Msg.WParam = SC_CLOSE then
begin
//прави нещо
end;
end;
Re: изход от форма
Здравейте!
Скивай тва
WM_NCHITTEST
или тва
WM_NCXBUTTONUP
Венцислав Александрийски
[линк]
Скивай тва
WM_NCHITTEST
или тва
WM_NCXBUTTONUP
Венцислав Александрийски
[линк]
Re: изход от форма
Благодаря на всички!
Реализирах вариант подобен на предложения от Ptr. Работи чудесно.
Струва ми се че не всички разбрах какъв е проблема. Ще поясня в случай, че за в бъдеще някои има същия проблем.
Имам форма в която се излиза през 2 бутона. На тях се изпълнява различен код. Когато се излезе с Х работата се обърква - нищо не се изпълнява(а трябва да се изпълнява 3-ти код). Единия вариант беще кода от двата бутона да го събера в ONClose или ONCLOSEQUERY. Прецених че е повече работа. По-лесния варианти са 2: с променлива, според която да разпознавам от къде се опитвам да изляза или просто да позная кога се опитвам да изляза с Х. последния вариант е най-компактен и ясно структуриран.
Надявам се 4е бях ясен. :)
Мерси за помоща.
Светът е малък нека си помагаме.
Реализирах вариант подобен на предложения от Ptr. Работи чудесно.
Струва ми се че не всички разбрах какъв е проблема. Ще поясня в случай, че за в бъдеще някои има същия проблем.
Имам форма в която се излиза през 2 бутона. На тях се изпълнява различен код. Когато се излезе с Х работата се обърква - нищо не се изпълнява(а трябва да се изпълнява 3-ти код). Единия вариант беще кода от двата бутона да го събера в ONClose или ONCLOSEQUERY. Прецених че е повече работа. По-лесния варианти са 2: с променлива, според която да разпознавам от къде се опитвам да изляза или просто да позная кога се опитвам да изляза с Х. последния вариант е най-компактен и ясно структуриран.
Надявам се 4е бях ясен. :)
Мерси за помоща.
Светът е малък нека си помагаме.