Вниз
Скачать: CL | DM;

Проблема с хэндлом ListBox a чужого окна   Найти похожие ветки 

← →
MARcoDEN ©   (2002-06-13 21:15) [0]

Использую ф-цию вытаскивания текста из ListBox"a чужого окна:

procedure Tzzz.get(Sender: TObject);
var
hw, ch ,count, i : integer;
buf : array [1..10] of char;
begin
hw:=FindWindow(nil,"Поиск по категориям"); //ищем окно
if hw<>0 then
begin
ch:=FindWindowEx(hw,0,"TListBox",nil);//ищел там листбокс
if ch<>0 then
begin
count:= sendmessage(ch,LB_GETCOUNT,0,0);//сколько же там строк?
if count<>0 then
begin
for i:=0 to count-1 do
begin
sendmessage(ch,LB_GETTEXT,i,integer(@buf));
listbox2.Items.Add(buf);
end;
end else showmessage("Записи отсутствуют.");
end
else showmessage("listbox не найден.");
end
else showmessage("Окно - Поиск по категориям - не найдено.");
end;


Но почему-то в упор хэндл ListBox"a не находит. Выдается сообщение "listbox не найден". В чем дело? Подскажите, пожалуйста!


← →
MARcoDEN ©   (2002-06-13 21:16) [1]

Нет, код немного другой:

procedure Tzzz.get(Sender: TObject);
var
hw, ch ,count, i : integer;
buf : array [1..10] of char;
begin
hw:=FindWindow(nil,"Mail_test"); //ищем окно
if hw<>0 then
begin
ch:=FindWindowEx(hw,0,"TListBox","Mail_test");//ищел там листбокс
if ch<>0 then
begin
count:= sendmessage(ch,LB_GETCOUNT,0,0);//сколько же там строк?
if count<>0 then
begin
for i:=0 to count-1 do
begin
sendmessage(ch,LB_GETTEXT,i,integer(@buf));
listbox2.Items.Add(buf);
end;
end else showmessage("Записи отсутствуют.");
end
else showmessage("listbox не найден.");
end
else showmessage("Окно - Поиск по категориям - не найдено.");
end;


← →
Song ©   (2002-06-13 21:24) [2]

Не правильно указаны параметры FindWindowEx() она должна возвращать не 0.


← →
MJH ©   (2002-06-14 00:58) [3]

2МаКАРоН: ты надоел меня смешить уже :)
дело в том что Tlistbox - это класс объекта делфи, а не оконный класс. оконный класс листбокса называется LISTBOX, следовательно пишем FindWindow("LISTBOX",nil)


← →
MARcoDEN ©   (2002-06-14 09:23) [4]

2MJH: смеется тот, кто смеется последним! А обзываться - вообще, мягко говоря, неприлично! Так что уважительнее относись ко всем, кому ты отвечаешь! Либо не отвечай вообще! Думаю, я ясно выразился?!


← →
Игорь Шевченко ©   (2002-06-14 09:43) [5]

MJH © (14.06.02 00:58)

> дело в том что Tlistbox - это класс объекта делфи, а не
> оконный класс. оконный класс листбокса называется LISTBOX


Вы в этом абсолютно уверены ?
Если приложение написано на Delphi, то имя оконного класса будет TListBox



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

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.009 c
4-60900
Burmistroff
2002-06-14 20:19
2002.08.19
Внутрисистемная коммуникация


1-60628
I__am
2002-08-07 19:59
2002.08.19
Срочно надо! Вопрос по нестандартным формам


14-60824
Alx2
2002-07-24 09:49
2002.08.19
На Землю летит двухкилометровый астероид


7-60873
allrussia
2002-06-06 12:43
2002.08.19
И все-таки, как подсчитать размер диска более 2 ГБ?


1-60689
Брат
2002-08-06 09:57
2002.08.19
Компонента




   Наверх