Вниз
Скачать: 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.073 c
14-1079671935
Zergling
2004-03-19 07:52
2004.04.11
А давайте над голивудскими хакерами поприкалываемся :)


1-1079963769
Layner
2004-03-22 16:56
2004.04.11
Как после инсталяции сервиса, сразу же запустить его?


7-1080199384
ламерламер
2004-03-25 10:23
2004.04.11
FormClass из строки


14-1081943310
Vlad Oshin
2004-04-14 15:48
2004.04.11
Как посадить Win95 на винт в 120Мб, если биос не дает кроме


1-1079903483
SeriousSam
2004-03-22 00:11
2004.04.11
Как сделать импорт из exel?




   Наверх