Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Увидеть все компоненты на окне [D6, WinXP]


ThunderRT6FormDC ©   (2004-12-26 16:52:00) 

То, что у меня получилось не работает должным образом.
Порой не пишет в список невидимые компоненты..
Или вообще, посто не все находит..

var
 S1:TStringList;

function EnumProc(H: HWND; Info: Pointer): BOOL; stdcall;
var aName: array [0..255] of Char;
begin
Result := True;
if Boolean(GetClassName(H, aName, 256)) then
S1.Add(aName);
end;

procedure TForm1.Enum(h:integer);
var i:integer;
begin
S1:=TStringList.Create;
EnumChildWindows(h, @EnumProc, Longint(self));
if (Form1.ListBox1.Items.Count=0)or(Form1.ListBox1.Items.Count<>S1.Count) then
begin
ListBox1.Items.Assign(S1);
FreeAndNil(S1);
Exit;
end;

if (Form1.ListBox1.Items.Count=S1.Count) then
for i:=0 to ListBox1.Items.Count-1 do
if ListBox1.Items.Strings[i]<>S1.Strings[i] then
 begin
ListBox1.Items.Assign(S1);
break;
 end;
FreeAndNil(S1);
end;


Обращение типа:

Enum(WindowFromPoint(Mouse.CursorPos));


ThunderRT6FormDC   (2004-12-27 00:45:00) [1]

Thanks to LVT.


Leonid Troyanovsky   (2004-12-26 18:51:00) [2]


> ThunderRT6FormDC   (26.12.04 16:52)  
> То, что у меня получилось не работает должным образом.
> Порой не пишет в список невидимые компоненты..
> Или вообще, посто не все находит..


http://groups.google.com/groups?selm=3BA6F3C3.CE745B6F%40eco-pro.ru

--
Regards, LVT.


Наверх

Титульная страница Поиск, карта сайта Написать письмо