![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как убрать форму из панели задач
separator © (2002-09-18 12:55:00)Я создаю динамически форму в dpr и не хочу, чтоб она была видна на панели задач. Как это сделать?
Separator (2002-09-18 14:50:00) [1]>> BOA_KAA
Спасибо сработало
BOA_KAA (2002-09-18 14:03:00) [2]Сорри, Application.CreateForm(TForm1, Form1);
var
WnHnd : Integer;
begin
Application.Initialize;
Application.CreateForm(TForm1, Form1);
WnHnd := GetWindowLong(Application.Handle, GWL_EXSTYLE);
if (WnHnd and WS_EX_TOOLWINDOW) = WS_EX_TOOLWINDOW then
WnHnd := WnHnd - WS_EX_TOOLWINDOW
else
WnHnd := WnHnd or WS_EX_TOOLWINDOW;
Application.MainForm.Hide;
SetWindowLong(Application.Handle, GWL_EXSTYLE, WnHnd);
Application.MainForm.Show;
Application.Run;
end.
Запарился:-((
BOA_KAA (2002-09-18 14:01:00) [3]А так попробуй:
var
WnHnd : Integer;
begin
Application.Initialize;
WnHnd := GetWindowLong(Application.Handle, GWL_EXSTYLE);
if (WnHnd and WS_EX_TOOLWINDOW) = WS_EX_TOOLWINDOW then
WnHnd := WnHnd - WS_EX_TOOLWINDOW
else
WnHnd := WnHnd or WS_EX_TOOLWINDOW;
Application.MainForm.Hide;
SetWindowLong(Application.Handle, GWL_EXSTYLE, WnHnd);
Application.MainForm.Show;
Application.CreateForm(TForm1, Form1);
Application.CreateForm(TForm2, Form2);
Application.Run;
end.
Separator (2002-09-18 13:55:00) [4]Не получается :( У меня вот такой код:
program ProjectTime;
uses
Forms,
Windows,
UnitTime in "UnitTime.pas" {FormTime};
{$R *.res}
var
Form: TFormTime;
begin
Form:= TFormTime.Create(nil);
Form.ShowModal;
Form.Free
end.
Ещераз условие задачки: не нужно, что в панели задач отображалась моя форма
AL2002 (2002-09-18 13:07:00) [5]Или так:
var YourApp: HWND;
begin
YourApp:=FindWindow("YourAppName", nil);
if GetWindowLong(h, GWL_HWNDPARENT)<>0 then SetWindowLong(YourApp, GWL_HWNDPARENT, 0);
SetWindowLong(YourApp, GWL_HWNDPARENT, GetDesktopWindow);
end;
Ну чё?
AL2002 (2002-09-18 13:04:00) [6]>А можно без Application?
Form1.Handle?
Такой вариант ещё есть:
ShowWindow(Application.Handle,0);
separator (2002-09-18 13:02:00) [7]А можно без Application?
AL2002 (2002-09-18 13:01:00) [8]Если я правильно понял вопрос, то:
SetWindowLong(Application.Handle, GWL_EXSTYLE, GetWindowLong(Application.Handle, GWL_EXSTYLE) or WS_EX_TOOLWINDOW);