Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.045 c
7-1080227639
Seldon
2004-03-25 18:13
2004.04.11
Блокировать сообщение в хуке.


1-1079969664
Rem
2004-03-22 18:34
2004.04.11
OLE_HANDLE


7-1080071278
cyborg
2004-03-23 22:47
2004.04.11
Активация/Деактивация окна


3-1081845149
Dynamit
2004-04-13 12:32
2004.04.11
Проблема загрузки данных из файла в компонент ClientDataSet


3-1081522034
Александр Крючков
2004-04-09 18:47
2004.04.11
Передача свойства Data по частям




   Наверх