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

Как перебрать все элементы в окне?   Найти похожие ветки 

← →
Хинт ©   (2005-07-06 12:20) [0]

Необходимо найти элемент управления (RichEdit20W). Для этого надо перебрать все элементы в окне. Может кто-нибудь дать готовый пример, использующий GetWindow (GW_CHILD, GW_HWNDNEXT)?


← →
Чапаев ©   (2005-07-06 12:27) [1]

A FindWindowEx() не подойдёт?


← →
Хинт ©   (2005-07-06 12:29) [2]

FindWindowEx [Now Supported on Windows NT]


← →
Хинт ©   (2005-07-06 12:32) [3]

Сделал так:

procedure FindMemo(wnd:HWND);
var
ClassName : array[0..255] of char;
begin
while Wnd<>0 do
  begin
   FindMemo(GetWindow(Wnd, GW_CHILD));
   GetClassName(wnd, ClassName, 255);
   if StrPas(ClassName)="RichEdit20W" then
       begin
        Application.MessageBox("Элемент найден","Готово",MB_OK);
       end;
   WND:=GetWindow(WND, GW_HWNDNEXT);
  end;
end;


Но почему-то находит не все =(


← →
Игорь Шевченко ©   (2005-07-06 12:40) [4]

EnumChildWindows ?


← →
Чапаев ©   (2005-07-06 12:43) [5]

FindWindow(nil,"TMemo"), а затем FindWindowEx().


← →
Чапаев ©   (2005-07-06 12:45) [6]

Тьфу, то есть FindWindow(nil,"TForm1"), а затем FindWindowEx()


← →
Хинт ©   (2005-07-06 12:46) [7]

Спасибо. С этим разобрался. Последний вопрос: как получить текст из RichEdit20W?


← →
Чапаев ©   (2005-07-06 12:48) [8]

Выделить всё, а затем скопировать в буфер обмена? Если вторая программа делфовая, то можно и через FindControl() извратиться.


← →
Хинт ©   (2005-07-06 12:57) [9]

Через буфер обмена не хотелось бы... А программа написана не на Delphi =( Может есть какой-нибудь вариант с использованием WinApi?


← →
begin...end ©   (2005-07-06 13:06) [10]

> Хинт ©   (06.07.05 12:46) [7]

А что, GetWindowText не работает?



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

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



Память: 0.47 MB
Время: 0.025 c
4-1120681463
ronyn
2005-07-07 00:24
2005.08.28
Как минимизировать программу в панель задач?


14-1123089550
DillerXX
2005-08-03 21:19
2005.08.28
Что вы знаете про...


1-1123164603
Андрей Молчанов
2005-08-04 18:10
2005.08.28
Shell в TTreeView


14-1121944525
Fin
2005-07-21 15:15
2005.08.28
Самая большая ветка?


1-1123578798
Hereticsoul
2005-08-09 13:13
2005.08.28
Развернуть окно borderstyle:=bsnone




   Наверх