Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как убрать форму из панели задач


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);


Наверх

Титульная страница Поиск, карта сайта Написать письмо