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

Вниз

Восстановление дочерних окон в XP   Найти похожие ветки 

 
Starkom ©   (2003-02-10 15:41) [0]

Есть главное окно (не приложения) - и для него есть куча вспомогательных окон, для которых OWNER=главному окну, а PARENT=nil. При сворачивании главного окна, вспомогательные окна остаются на экране. Как бороться с этой проблемой?
Сделал на OnDeActivate с проверкой IsIconic(MainForm.Handle) создание листа с хэндлами окон, которые на экране видны (дело в том, что вспомогательных окон много(и будет еще больше) и они создаются при создании MainForm и показываются только при необходимости - то есть при сворачивании надо запомнить все видимые окна и их Z-Order, а потом при разворачивании восстановить)
Пробовал использовать
1. MainForm.Components[i] is TForm, но TForm(MainForm.Components[i]).Handle не проходит. Может быть, из-за того, что все вспомогательные окна разных классов.
2. EnumWindows с проверкой GetParent(Handle)=MainForm.Handle, тоже не помогает. Может вместо GetParent надо использовать что-то другое?


 
Starkom ©   (2003-02-10 16:41) [1]

3. попробовал ShowOwnedPopups, но окна не WS_POPUP.
Помогите, пожалуйста.


 
Starkom ©   (2003-02-10 16:55) [2]

GetWindowLong(Handle, GWL_HWNDPARENT) вместо GetParent тоже не пашет :(



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

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

Наверх




Память: 0.47 MB
Время: 0.014 c
1-52824
Hoper
2003-01-27 14:36
2003.02.17
Как узнать, имеет ли класс или компонент какое-либо св-во


1-52818
anbezr
2003-02-07 11:38
2003.02.17
Надо ли уничтожать TStringList


14-53182
dimich1978
2003-02-03 09:56
2003.02.17
И еще раз про коннект модемов без АТС.


3-52773
XAPAKTEP
2003-01-31 09:40
2003.02.17
Посоветуйте как переделать прогу локальн.=>сеть


3-52782
Andrushk
2003-01-31 10:30
2003.02.17
Разукраска DBGrid а