Главная страница
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.028 c
1-1079691399
Ярыч
2004-03-19 13:16
2004.04.11
dream scripter


1-1079949902
Ozone
2004-03-22 13:05
2004.04.11
MS Video Control (ActiveX)


7-1079357186
DuchmanSoft
2004-03-15 16:26
2004.04.11
Приоритет приложения


3-1082021754
alex123
2004-04-15 13:35
2004.04.11
ClientDataSet, DataSetProvider - скрытые поля pfHidden


1-1080271880
Хэтч
2004-03-26 06:31
2004.04.11
Хочу, чтобы форма при Maximize пропорционально увеличивалась...