Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.04.11;
Скачать: CL | DM;

Вниз

Кнопка динамической формы на панели задач.   Найти похожие ветки 

 
alienserg   (2004-04-22 18:54) [0]

Нужно две вещи:
1. чтобы динамически создаваемая форма отображалась кнопкой на панели задач
2. чтобы при клике на эту форму остальные формы приложения не поднимались на передний план. Как переговорные формы в ICQ.

Дали совет:

procedure TDynForm.CreateParams(var Params: TCreateParams);
begin
 inherited CreateParams(Params);
 with Params do begin
   ExStyle := ExStyle or WS_EX_APPWINDOW;
   WndParent := GetDesktopWindow;
 end;
end;

процедура объявлена в разделе public создаваемой формы
Абсолютно никаких результатов это не дало.

Помогло

msgForm := TDynForm.Create(self);
SetWindowLong(msgForm.Handle, GWL_EXSTYLE, WS_EX_APPWINDOW);
//SetParent(msgForm.Handle, GetDesktopWindow);
msgForm.Show;


Но вот WinAPI функция
SetParent(msgForm.Handle, GetDesktopWindow);
работать не хочет, поскольку есть одноименный метод у TCustomForm

Вопрос: почему не срабатывает процедура CreateParams
и как привязать окно не к форме, а к десктопу, чтобы все формы сразу не всплывали при клике, а только кликнутая.


 
WebErr ©   (2004-04-22 18:57) [1]


> Но вот WinAPI функция
> SetParent(msgForm.Handle, GetDesktopWindow);
> работать не хочет, поскольку есть одноименный метод у TCustomForm


Windows.SetParent(msgForm.Handle, GetDesktopWindow);

Должно сработать.


 
alienserg   (2004-04-22 19:02) [2]

дополню:
среда D6,Win2003
метод CreateParams специально не вызываю, поскольку в совете было сказано, что данный метод вызывается сам при создании формы.


 
alienserg   (2004-04-22 19:07) [3]

> WebErr ©   (22.04.04 18:57) [1]

О, теперь не ругается! Но и не работает, как надо. При клике на переговорную форму все равно заодно всплывает и главная форма.



Страницы: 1 вся ветка

Текущий архив: 2004.04.11;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.103 c
3-1078992781
Janbolat
2004-03-11 11:13
2004.04.11
Application path & Вычисляемые поля


3-1081770759
Balkon
2004-04-12 15:52
2004.04.11
Массивы в Базе данных.


3-1081480032
F. Evgeney
2004-04-09 07:07
2004.04.11
как правильно подключить сетвую базу через ADOTable


1-1082575028
ещё раз Я...
2004-04-21 23:17
2004.04.11
опять StringGrid и его события...


1-1080127303
Zilog
2004-03-24 14:21
2004.04.11
Расчет времени! Нужна помощь...