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

Вниз

Как узнать handle дочерних окон приложения?   Найти похожие ветки 

 
dihlos ©   (2002-07-01 18:13) [0]

Помогите,по сабжу плиз!
Спасибо.


 
Volj ©   (2002-07-01 19:09) [1]

Т.е. тебе нужны handle всех окон, которые выполняются в контексте потока приложения? И какие у тебя начальные данные (Handle одного из окон, handle процесса, Application, etc...)?


 
dihlos ©   (2002-07-01 19:33) [2]

Eсть Caption главного окна - его handle я могу узнать.
Как узнать остальные?
Заранее благодарен.


 
Volj ©   (2002-07-01 19:44) [3]

EnumChildWindows - все дочерние окна указанного Но подозреваю, что не отлавливает созданные как TForm.Create(nil).
Более надежным способом представляется:
Получить ид процесса GetWindowThreadProcessId,
затем получить список окон, созданных в данном процессе с помощью EnumThreadWindows.


 
anatol ©   (2002-07-01 19:51) [4]

vot zdes" mojno pro4itat" pro EnumChildWindows :


http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/winui/windowsuserinterface/windowing/windows/windowreference/windowfunctions/enumchildwindows.asp



 
Юрий Зотов ©   (2002-07-01 22:56) [5]

> Но подозреваю, что не отлавливает созданные
> как TForm.Create(nil).

Зря подозреваете. Отловит все дочерние окна ПРЯМЫМ родителем (то есть, Parent"ом, а не Owner"ом) которых является эта самая форма.

А если нужны еще и НЕ прямые child"ы - пишется рекурсия.


 
dihlos ©   (2002-07-02 11:32) [6]

2 All
А можно примерчик, плиз?
Смысл весь в том, что мне нужно затенить кнопку Х в многооконном приложении...
Ну к примеру у меня есть Quattro Pro, я открываю таблицу - в ней макрос. Получаю как бы отдельное приложение. Всякие там менюшки создает и.т.д... Выход тоже через меню и закрывает все Quttro Pro.
А вот если я закрываю дочернее окно (с моим макросом) через эту самую кнопочку Х, то мы вылетаем в оболочку и уже нормально закрыть это не могем, только через "три пальца", но суть не в этом.
Нужно зная имя главного окна затенить кнопочку Х у всех его дочерних окон.
Помогите плиз!!!
Заранее благодарен!!!


 
dihlos ©   (2002-07-02 12:06) [7]

Никто не знает?:(


 
Volj ©   (2002-07-02 19:52) [8]

function EnumProc (WinHandle: HWnd; Param: LongInt): Boolean; stdcall;
begin
// Твои действия с Handle... Все handles дочерних окон передаются сюда.
end;

begin
EnumChildWindows(ParentHandle, @EnumProc, 0);
end;



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

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

Наверх




Память: 0.48 MB
Время: 0.011 c
4-3677
Max2000
2002-06-28 13:55
2002.09.02
Мастера!!! Подскажите как это сделать на API? Без TCanvas?


1-3471
Eugie
2002-08-21 08:07
2002.09.02
Горячие клавиши в главном меню


14-3597
VictorT
2002-05-27 13:31
2002.09.02
Раз пошла такая пьянка, то может и львовянам стрелкануться?


1-3449
ЮРИЙ_К
2002-08-20 13:42
2002.09.02
Отловить фокус мышки на кнопке заголовка rxDBGrid


14-3606
mvg_first
2002-08-07 13:10
2002.09.02
Посоветуйте какой SQL сервер лучше использовать MS или Interbase