![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
GWL_EXSTYLE в windows XP [WinXP]
Василий К. © (2007-10-25 11:13:00)Ребят, подскажите, что не так:
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;
при таком раскладе форма не должна создавать кнопку на панели задач, верно?
а у меня создает и причем создает при появлении каждой формы обновляет её с другой анимацией...
как бы разобраться?
Прохожий (2007-10-26 12:56:00) [1]Удалено модератором
Примечание: Забаню за неуважение к правилам
Lacmus (2007-10-25 13:57:00) [2]>Это помогло. Но приходится данную процедуру забивать в каждую новосоздаваемую форму :(
Повторить не удалось.
>Нет ли других решений?
ShowWindow(Application.Handle, SW_HIDE) ?
>И почему этот баг имеет место быть?
Скорее так задумано
{ Forms.pas }
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;
Василий К. (2007-10-25 13:22:00) [3]Это помогло. Но приходится данную процедуру забивать в каждую новосоздаваемую форму :(
Нет ли других решений? И почему этот баг имеет место быть?
Василий К. (2007-10-25 13:04:00) [4]А в саму процедуру что записать?
Lacmus (2007-10-25 12:59:00) [5]Изменить для TfmDesktop
unit Unit79;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;
type
TForm79 = class(TForm)
private
{ Private declarations }
public
{ Public declarations }
procedure VisibleChanging; override;
end;
var
Form79: TForm79;
implementation
{$R *.dfm}
procedure TForm79.VisibleChanging;
begin
end;
end.
Василий К. (2007-10-25 12:43:00) [6]CodeGear 2007
в 2006 проблем не возникало.
Lacmus (2007-10-25 12:26:00) [7]Какая версия Delphi ?