Show main form's real taskbar button
4 отговора
93 прегледа
Show main form's real taskbar button
protected
//Show main form's real task button
procedure CreateParams(var Params: TCreateParams); override;
end;
var
frmMain: TfrmMain;
implementation
{$R *.dfm}
procedure TfrmMain.CreateParams(var Params: TCreateParams);
begin
inherited CreateParams(Params);
//Hide the button created by Delphi for the Application
SetWindowLong(Application.Handle, GWL_EXSTYLE, WS_EX_TOOLWINDOW);
//Show a button for the main form
with Params do
begin
ExStyle := ExStyle or WS_EX_APPWINDOW;
WndParent := GetDesktopwindow;
end;
end;
Oops
Kato "kriem" application-a po tozi nachin (naglasqme go na tool window) ima problem s Minimize. Otiva dolu v ugulcheto edno takovka smeshno.
Vmesto :
SetWindowLong(Application.Handle, GWL_EXSTYLE, WS_EX_TOOLWINDOW);
Probvah :
SetWindowLong(Application.Handle, GWL_EXSTYLE,
GetWindowLong(Application.Handle, GWL_EXSTYLE) xor (not WS_EX_APPWINDOW));
Estestveno tova e greshni i Style-a stava otricatelno chislo. Mojesh da vidish kak na purvoto button-che na taskbar-a, menu-to mu izliza ogledalno na drugata strana
Ta, da vi pitam, nqkoi ima li ideq kak da Hide-na butona na Application-a bez da bug-vam vsichko. Opitah se da namerq kude tochno pishe che TApp trqbva da ima buton, no ne mojah da go namerq
10x en avance
Vmesto :
SetWindowLong(Application.Handle, GWL_EXSTYLE, WS_EX_TOOLWINDOW);
Probvah :
SetWindowLong(Application.Handle, GWL_EXSTYLE,
GetWindowLong(Application.Handle, GWL_EXSTYLE) xor (not WS_EX_APPWINDOW));
Estestveno tova e greshni i Style-a stava otricatelno chislo. Mojesh da vidish kak na purvoto button-che na taskbar-a, menu-to mu izliza ogledalno na drugata strana
Ta, da vi pitam, nqkoi ima li ideq kak da Hide-na butona na Application-a bez da bug-vam vsichko. Opitah se da namerq kude tochno pishe che TApp trqbva da ima buton, no ne mojah da go namerq
10x en avance
4REAL
//Show main form's real task button
procedure CreateParams(var Params: TCreateParams); override;
procedure WMSysCommand(var Message: TWMSysCommand); message WM_SYSCOMMAND;
end;
var
frmMain: TfrmMain;
implementation
{$R *.dfm}
procedure TfrmMain.CreateParams(var Params: TCreateParams);
begin
inherited CreateParams(Params);
//Hide the button created by Delphi for the Application
SetWindowLong(Application.Handle, GWL_EXSTYLE, WS_EX_TOOLWINDOW);
//Show a button for the main form
with Params do
begin
ExStyle := ExStyle or WS_EX_APPWINDOW;
WndParent := GetDesktopwindow;
end;
end;
procedure TfrmMain.WMSysCommand(var Message: TWMSysCommand);
begin
//Handle minimize application bug
if (Message.CmdType and $FFF0 = SC_MINIMIZE) then
DefWindowProc(Handle, WM_SYSCOMMAND, SC_MINIMIZE, 0);
else
inherited;
end;
Re: Oops
probwal li si
ShowWindow (application.handle,SW_HIDE)?
------------------------------
I got a COMPILER, and I'm not afraid to use it!
ShowWindow (application.handle,SW_HIDE)?
------------------------------
I got a COMPILER, and I'm not afraid to use it!
Редактирано от SDR на
Re: Oops
To poslednoto, koeto sum post-nal vurvi dobre.
Inache si prav, che ne se setih, da se podsigurq, da ne se vijda application.handle-a
Inache si prav, che ne se setih, da se podsigurq, da ne se vijda application.handle-a