-
Ребят, подскажите, что не так:
var ExtendedStyle : integer;
ExtendedStyle:=GetWindowLong(application.Handle, GWL_EXSTYLE); SetWindowLong(Application.Handle, GWL_EXSTYLE, ExtendedStyle or WS_EX_TOOLWINDOW); Application.Initialize; Application.CreateForm(TfmDesktop, fmDesktop); Application.Run;
при таком раскладе форма не должна создавать кнопку на панели задач, верно? а у меня создает и причем создает при появлении каждой формы обновляет её с другой анимацией...
как бы разобраться?
-
Какая версия Delphi ?
-
CodeGear 2007 в 2006 проблем не возникало.
-
Изменить для TfmDesktop
unit Unit79;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;
type
TForm79 = class(TForm)
private
public
procedure VisibleChanging; override;
end;
var
Form79: TForm79;
implementation
procedure TForm79.VisibleChanging;
begin
end;
end.
-
А в саму процедуру что записать?
-
Это помогло. Но приходится данную процедуру забивать в каждую новосоздаваемую форму :(
Нет ли других решений? И почему этот баг имеет место быть?
-
>Это помогло. Но приходится данную процедуру забивать в каждую новосоздаваемую форму :( Повторить не удалось. >Нет ли других решений? ShowWindow(Application.Handle, SW_HIDE) ? >И почему этот баг имеет место быть? Скорее так задумано
procedure TCustomForm.VisibleChanging;
begin
if (FormStyle = fsMDIChild) and Visible and (Parent = nil) then
raise EInvalidOperation.Create(SMDIChildNotVisible);
if (Self = Application.MainForm) and not (csDestroying in ComponentState) then
begin
if Visible then
begin
ChangeAppWindow(Handle, not Application.MainFormOnTaskBar, True);
ChangeAppWindow(Application.Handle, Application.ShowMainForm, True);
end
else
begin
ChangeAppWindow(Application.Handle, not Application.MainFormOnTaskBar, False);
ChangeAppWindow(Handle, Application.MainFormOnTaskBar, True);
end;
end;
end;
-
Удалено модератором Примечание: Забаню за неуважение к правилам
|