Избройте компонентите на друг прозорец

Показване на списък с компоненти на прозореца на някой друг - може ли това да се направи?

Какво е "компонент на чужд прозорец"?

прозорецът няма компоненти. Има дъщерни прозорци, но ако приложението е написано на Delphi, тогава някои компоненти (Етикет, например) не са прозорци. EnumChildWindows()

Намерих нещо, ще опитам: 1. След като компонентът във формуляра е въведен, формулярът е активен така или иначе, tada: Код: var H: HWND; Zagolovok:масив[0..255] от Char; . begin H:= GetActiveWindow // - получава текущия активен прозорец GetWindowText(H, Zagolovok, SizeOf(Zagolovok)); //- четене на заглавка 2. Вземете заглавието на прозореца. изисква се да получим всички манипулатори на компонентите и техните класове, нека направим цикъл: Код: var Wnd: HWND; Buff:array[0..255] of Char; begin H:=GetActiveWindow; Wnd:= GetWindow(H, gw_child); Докато Wnd <> 0 след това започнете Ако (GetParent(Wnd) = H) тогава започнете GetClassName(Wnd,Buff,SizeOf(Buff)); ListBox1.Items.Add(StrPas(buff)); // добавяне към списъка с класове end; Wnd:= GetWindow(H, gw_HWNDNext); край; Класовете на всички дъщерни прозорци ще бъдат показани в ListBox1

> Класовете на всички дъщерни прозорцище бъдат показани в ListBox1

Но вашият въпрос беше много различен.

Но ако знаем името на класа прозорец, можем ли да открием дъщерните класове на този прозорец?

> можете ли да намерите дъщерните класове на този прозорец? >

Не можете. Можете да откриете само класовете на дъщерните прозорци на този прозорец, ако има такива. Но какво общо има това с "компонентана друг прозорец"?

> името на класа на прозореца - можете също да откриете дъщерните класове на този > прозорци?няма концепция за "дъщерни класове" прозоречен клас не е този клас в OOP има дъщерни прозорци, вече писах - EnumChildWindows()

светски хора (10/20/08 12:12 PM) [3] 1. След като входът е направен към компонента във формуляра, тогава формулярът е активен така или иначе, tada:GetActiveWindow връща прозореца от дадената нишка.

Функцията GetActiveWindow извлича манипулатора на прозореца къмактивния прозорец, свързан с нишката, която извиква функцията.

Тези. връща това, с което е извикана функцията? Така че подканата се преведе за мен: "Функцията GetActiveWindow възстановява манипулатора на прозореца към активния прозорец, свързан с нишката, която е извикала функцията."

> възстановява манипулатора на прозореца към активния прозорецвръща манипулатора (дескриптора) на активния прозорец Подкана две

> Prompt deuceтой никога не е бил добър превод

Всеки прозорец, който съществува в системата, е собственост на конкретната нишка, която го е създала.

Ако прозорци W1 и W2 са създадени в нишка T1, а прозорци W3 и W4 са създадени в нишка T2 и например прозорец W3 е активен в момента, тогава функцията GetActiveWindow, когато бъде извикана в нишка T1, ще върне 0 (тъй като текущият активен прозорец НЕ принадлежи на нишка T1), докато същата функция, извикана в нишка T2, ще върне манипулатора на прозореца на W3.

Благодаря, дори не го знаех. Мога ли да превключа към други теми? -------------------- Намерих това, което търсих тук http://forum.codeby.net/topic3765.html

> мога ли да превключа към други потоци?

Какво означава "преход"?

> намерих това, което търсих тук

Няма дума за "списъка с компоненти на чужд прозорец".

Изтрито от модераторЗабележка:Не е нужно да правите това.

Не, какво говориш, какво сбърках? Дадох на човека линк към тема, която може да му помогне да реши проблема си.