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

Вниз

FindComponent :(   Найти похожие ветки 

 
Sam Stone   (2002-08-18 09:21) [0]

В библиотеке Classes есть метод FindComponent. Он мне очень помог. А есть ли подобное в KOL? А то Classes 100 кило к экзешнику прилепляет :(


 
Gandalf   (2002-08-18 10:23) [1]

Попробуй типа этого.

TIfaceItem=record
Control:PControl;
Name:String;
end;

var

ControlList:array of TIfaceItem;

procedure EnumControls(Owner:PControl);
var
i:Integer;
TMPStr:array [0..255] of Char;
begin
For i:=0 to Owner.ChildCount-1 do
begin
SetLength(ControlList,Length(ControlList)+1);
with ControlList[Length(ControlList)-1] do
begin
Control:=Owner.Children[i];
GetWindowText(Owner.Children[i].Handle,@TMPStr,SizeOf(TMPStr));
// SendMessage(Owner.Children[i].Handle,WM_GETTEXT,SizeOf(TMPStr),DWord(@TMPStr));
Name:=String(TMPStr);
EnumControls(Owner.Children[i]);
end;
end;
end;

EnumControls(Form1.Form).

Только сбор информации замени на сравнение и выход из перебора.


 
Sam Stone   (2002-08-18 11:00) [2]

а че-нить по-проще?


 
Gandalf   (2002-08-18 11:42) [3]

А ты FindComponent видел? Куда уж проще? Обычная рекурсия.


 
Sam Stone   (2002-08-18 11:51) [4]

Не, просто я не очень понял то, что ты мне написал :(. Я не очень силен в Delphi :(


 
Gandalf   (2002-08-18 19:00) [5]

>Не, просто я не очень понял то, что ты мне написал :(. Я не >очень силен в Delphi :(
Так вот, вообще-то у компонентов в KOL нет свойства Name (в режиме запуска - run-time). Потому найти его (по имени) НЕВОЗМОЖНО.
Но есть имя класса и текст окна. Тут пример поиска по тексту окна (ну несовсем поиска - просто колекционирование)

Извини друг, но может тогда рано еще KOLnMCK - переходить?
Только не обижайся.



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

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

Наверх




Память: 0.47 MB
Время: 0.018 c
3-83326
Lika
2003-05-06 14:23
2003.05.26
Как перехватить сообщение сервера?


8-83609
Yurko
2003-02-09 01:27
2003.05.26
Звук с микрофона или LineIn


14-83671
Ivan61
2003-05-04 11:44
2003.05.26
Как установить RXLib для D7?????


14-83686
kres
2003-04-23 17:21
2003.05.26
Что за мусор в папке Windows?


3-83339
gram
2003-05-05 13:39
2003.05.26
Проблемы при выводе в отчет QReport вычисляемых значений из базы