Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как перебрать все элементы в окне?


Хинт ©   (2005-07-06 12:20:00) 

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


begin...end   (2005-07-06 13:06:00) [1]

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

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


Хинт   (2005-07-06 12:57:00) [2]

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


Чапаев   (2005-07-06 12:48:00) [3]

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


Хинт   (2005-07-06 12:46:00) [4]

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


Чапаев   (2005-07-06 12:45:00) [5]

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


Чапаев   (2005-07-06 12:43:00) [6]

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


Игорь Шевченко   (2005-07-06 12:40:00) [7]

EnumChildWindows ?


Хинт   (2005-07-06 12:32:00) [8]

Сделал так:

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:29:00) [9]

FindWindowEx [Now Supported on Windows NT]


Чапаев   (2005-07-06 12:27:00) [10]

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


Наверх

Титульная страница Поиск, карта сайта Написать письмо