Главная страница
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.02 c
8-60752
Smok_er
2002-04-02 22:18
2002.08.19
Создание AVI из графических файлов


3-60479
awaken
2002-07-28 18:45
2002.08.19
ADO Recordset и Delphi DataSet


1-60741
Rasa
2002-08-06 02:59
2002.08.19
Полупрозрачность...


1-60622
Chuvi
2002-08-08 16:36
2002.08.19
Вопрос по VBA + Excell ? Может кто подскажет ????


4-60897
Freezer
2002-06-14 16:00
2002.08.19
Invalid window handle