Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2005.08.28;
Скачать: [xml.tar.bz2];

Вниз

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

 
Хинт ©   (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 вся ветка

Форум: "WinAPI";
Текущий архив: 2005.08.28;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.065 c
1-1123239022
rolex
2005-08-05 14:50
2005.08.28
Как в ListView список прокрутить в самый конец?


4-1121056430
Untermensch
2005-07-11 08:33
2005.08.28
Как заставить систему выйти диалапом в инет и обратно.


6-1116066766
DeadEliZe
2005-05-14 14:32
2005.08.28
Indy 10: idIRC - баги, исправления, вопросы


1-1122542200
HmG
2005-07-28 13:16
2005.08.28
Установка пакета


14-1123227092
Lexer
2005-08-05 11:31
2005.08.28
Домен (сеть компании) + рабочая группа (инет кафе)





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский