Ben yavru formların (fsMDIChild) onminimized olayını kontrol altında tutmak istiyorum fakat yapamadım
Kod: Tümünü seç
FormResize //olayı geç algıladığı için sağlıklı olmuyor
TApplicationEvents //anaformda işliyor diğer forma uygulayamadım
Kod: Tümünü seç
FormResize //olayı geç algıladığı için sağlıklı olmuyor
TApplicationEvents //anaformda işliyor diğer forma uygulayamadım
application.minimize && application.onminimize ana form olarak kontrol edebiliyorum ben ise ana form harici formları kontrol etmek istiyorum yani wintooldaki minimize tuşu tıkladığında veya form minimize edildiğinde şunları yap gibi applicationda formları ayrı ayrı kontrol edebiliyormuyuz bilemiyorumhusonet yazdı:Yapmak istediğiniz Forum'u minimize etmekse Formların WindowState (Form1.WindowState := wsMinimized;) özelliklerinden yararlanmanız yeterli olacaktır ya da Uygulamayı etkileyecek işlem yapmak istiyorsanı Application.Minimize; demen yeter.
Kolay Gelsin...
Ben okudumda derdimi anlatamadım ilginize teşekkür ederimhusonet yazdı:Siz yazdığımı msj ı okudunuzmu?
Form2.WindowState := wsMinimized;
Form3.WindowState := wsMinimized;
Kod: Tümünü seç
type
TSysCmdEvent = procedure(Sender: TObject; var Allow: Boolean) of object;
private
FOnMinimize: TSysCmdEvent;
procedure WMSysCommand(var Message: TWMSysCommand); message WM_SYSCOMMAND;
protected
function DoMinimize: Boolean; dynamic;
public
property OnMinimize: TSysCmdEvent read FOnMinimize write FOnMinimize;
procedure Tform2.WMSysCommand(var Message: TWMSysCommand);
begin
case Message.CmdType and $FFF0 of
SC_MINIMIZE:
if not DoMinimize then
Exit;
end;
inherited;
end;
function Tform2.DoMinimize: Boolean;
begin
Result := True;
if Assigned(FOnMinimize) then FOnMinimize(Self, Result);
end;
Kod: Tümünü seç
type
procedure mesajisle(var Message: TWMSysCommand); message WM_SYSCOMMAND;
procedure Tform3.mesajisle(var Message: TWMSysCommand);
begin
case Message.CmdType and $FFF0 of
SC_MINIMIZE:
begin
ShowWindow(Form3.Handle, SW_HIDE);
end;
end;
inherited;
end;
Kod: Tümünü seç
type
procedure mesajisle(var Message: TWMSysCommand); message WM_SYSCOMMAND;
procedure Tform3.mesajisle(var Message: TWMSysCommand);
begin
case Message.CmdType and $FFF0 of
SC_MINIMIZE:
begin
ShowWindow(Form3.Handle, SW_HIDE);
exit; //********Burayı atlamışım*********
end;
end;
inherited;
end;