uazero
Member
В приложении, которое я разрабатывал, использовался код, который отображал значок каждого открытого окна на панели задач. В Delphi 7 и т.д. до BDS 2007 был требуемый эффект. После перехода на BDS 2007 эффект поменялся. На панели задач стало отображаться два значка главного окна, как я понимаю, один из значков был значком приложения, второй - значком главного окна. Сам код такой:
в файле проекта .DPR
program XXXX;
uses
Forms,
SysUtils,
Windows,
Main in 'Main.pas' {MainForm},
...
begin
Application.Initialize;
SetWindowLong(
Application.Handle,
GWL_EXSTYLE,
GetWindowLong(Application.Handle, GWL_EXSTYLE) and (not WS_EX_APPWINDOW) or WS_EX_TOOLWINDOW);
Application.Title := 'XXXX';
....
В модуле каждой формы
добавляем секцию
protected
procedure CreateParams(var Params: TCreateParams); override;
реализация
procedure TForm.CreateParams(var Params: TCreateParams);
begin
inherited;
Params.ExStyle := Params.ExStyle or WS_EX_APPWINDOW and not WS_EX_TOOLWINDOW;
Params.WndParent := GetDesktopWindow;
end;
Может кто нибудь знает другой код, который будет давать нужный результат в BDS 2007 ?
в файле проекта .DPR
program XXXX;
uses
Forms,
SysUtils,
Windows,
Main in 'Main.pas' {MainForm},
...
begin
Application.Initialize;
SetWindowLong(
Application.Handle,
GWL_EXSTYLE,
GetWindowLong(Application.Handle, GWL_EXSTYLE) and (not WS_EX_APPWINDOW) or WS_EX_TOOLWINDOW);
Application.Title := 'XXXX';
....
В модуле каждой формы
добавляем секцию
protected
procedure CreateParams(var Params: TCreateParams); override;
реализация
procedure TForm.CreateParams(var Params: TCreateParams);
begin
inherited;
Params.ExStyle := Params.ExStyle or WS_EX_APPWINDOW and not WS_EX_TOOLWINDOW;
Params.WndParent := GetDesktopWindow;
end;
Может кто нибудь знает другой код, который будет давать нужный результат в BDS 2007 ?