Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.08.19;
Скачать: 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 вся ветка

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

Наверх




Память: 0.48 MB
Время: 0.011 c
3-60483
Dmitr
2002-07-04 15:05
2002.08.19
messagedlg?


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


4-60901
kidman
2002-06-12 16:12
2002.08.19
screensaver


6-60764
neodiX
2002-06-04 12:28
2002.08.19
Это действительно проблема!


14-60831
_Smart
2002-07-20 03:07
2002.08.19
Помогите с продвижением софта в массы...