Potrebujem odchytit klik na [x] aplikacie. Aby som z tlacitka X spravil minimalizovanie do tray alebo dal napr messagebox ci si ozaj uzivatel zela uzavriet aplikaciu. ako nato?
Fórum › Delphi
Odchytenie close
liborb napsal:
Event OnClose od Formu.
ja viem ze takato udalost existuje ale je mi to nanic ak neviem close spravu odchytit a v potrebnom pripade to zrusit.
TooM7 napsal:
OnCloseQuery http://docwiki.embarcadero.com/CodeSamples/en/OnCloseQuery_%28Delphi%29
no to som mal namysli len to neako nefunguje, proste sa form zavrie bez vyzvy.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;
type
TForm1 = class(TForm)
private
{ Private declarations }
public
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
if MessageDlg('Close the form?', mtConfirmation,
[mbOk, mbCancel], 0) = mrCancel then
CanClose := False;
end;
end.
co tu moze byt zle? :)
zadnou chybu tam na prvni pohled nevidim, jen me napada, nechal sis tu udalost do kodu automaticky vlozit (poklikanim na OnCloseQuery v Events formu) a pak si tam dopsal ten kod s MessageDlg nebo to je cele jen copy&paste? jinak tezko rict, delphi ted nemam nainstalovane tak to nemuzu zkusit, ale vim ze jsem s tim kdysi delal a fungovalo to v pohode...
Jen tak mimochodem to funguje i v OnClose (alespoň v D6). Dokonce je to jako příklad v helpu, ale kdo by četl help :smile1:
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
if MessageDlg('Close application ?', mtConfirmation, [mbYes, mbNo], 0) = mrYes then
Action := caFree
else
Action := caNone;
end;
.
Zjistit počet nových příspěvků
Přidej příspěvek
Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku
×Vložení zdrojáku
×Vložení obrázku
×Vložení videa
Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
Uživatelé prohlížející si toto vlákno
Uživatelé on-line: 0 registrovaných, 22 hostů
Podobná vlákna
C/C++ Close — založil Martin
C# - odchytenie Tabulatoru — založil Santas
Using vs Close() ASP .NET — založil Johnnny
Hide/show/close Dialog — založil Atheo
C# odchytenie vynimky chybajucej assembly — založil puma