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

Вниз

Отображение всех форм на таскбаре   Найти похожие ветки 

 
p@s ©   (2002-10-30 16:52) [0]

Что хотелось получить. Чтобы каждая форма была на таскбаре (как это делает 2000 ворд).
Имеем три формы MainForm, ChildForm и ChildChildForm. ChildForm вызывается из MainForm, ChildChildForm из ChildForm. На таскбаре должны быть только MainForm, ChildForm. Про ChildChildForm я в общем случае ничего не знаю, то есть ее может создавать кто угодно например компоненты на форме ChildForm.
Что я сделал.
Перекрыл CreateParams у MainForm, ChildForm.
procedure MainForm.CreateParams(var Params: TCreateParams);
begin
inherited CreateParams(Params);
Params.ExStyle := Params.ExStyle or WS_EX_APPWINDOW;
Params.WndParent := 0;
end;
procedure ChildForm.CreateParams(var Params: TCreateParams);
begin
inherited CreateParams(Params);
Params.ExStyle := Params.ExStyle or WS_EX_APPWINDOW;
Params.WndParent := 0;
end;

Обнаружился первый косяк. На таскбаре кроме этих двух форм появилась еще и окно приложения (Application). Что я сделал. Убрал у главой формы CreateParams. На таскбаре все в порядке, но при попытке показать форму из ChildForm на передний план выходит MainForm, а ChildForm уходит на задний, что не правильно. В принципе так и должно быть так как при создании ChildChildForm в WndParent у нее указан хандл Application, а перекрыть CreateParams для ChildChildForm я не могу, так как реализация ChildChildForm не мной написана.
Вот такая ситуация. Если кто решил эту проблему посоветуйте чего-нибудь.


 
p@s ©   (2002-10-31 08:15) [1]

Вопрос закрыт.



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

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

Наверх




Память: 0.47 MB
Время: 0.013 c
3-33896
VikOss
2002-10-22 18:33
2002.11.11
TQuery


1-34121
VladP
2002-10-29 17:17
2002.11.11
не сохраняются SubProperties элементов коллекции


3-33866
Blunder
2002-10-18 21:22
2002.11.11
conversion from string


7-34275
Holder
2002-07-18 15:10
2002.11.11
Можно ли заблокировать из Windows кнопку Reset ? (на корпусе)


4-34288
Bukerman
2002-09-27 20:16
2002.11.11
DestroyWindow