Избройте компонентите на друг прозорец
Показване на списък с компоненти на прозореца на някой друг - може ли това да се направи?
Какво е "компонент на чужд прозорец"?
прозорецът няма компоненти. Има дъщерни прозорци, но ако приложението е написано на 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
> мога ли да превключа към други потоци?
Какво означава "преход"?
> намерих това, което търсих тук
Няма дума за "списъка с компоненти на чужд прозорец".
Изтрито от модераторЗабележка:Не е нужно да правите това.
Не, какво говориш, какво сбърках? Дадох на човека линк към тема, която може да му помогне да реши проблема си.