![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Увидеть все компоненты на окне [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.