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

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

Окна хендлы и эдиты [D6, Win95/98]


ULTRIX ©   (2002-10-26 01:26:00) 

У меня такой серьёзный вопрос. С помощью своей программы я открываю другую программу, в которой есть несколько tedit-ов, комбобокс и пару буттонов. Нахожу это окно, получаю хендл, а прочесть инфу в едитах никак не могу - управлению поддаётся только заголовок окна. Так что вот сам собственно вопрос, как сделать то, чего я не умею (пока ;)))


Ihor Osov'yak   (2002-10-28 22:08:00) [1]

to ULTRIX © (28.10.02 21:16)

Пройдись по дочерним окошкам. Есть такие волшебные слова как

GetWindow(хендл_верхнего_окна,GW_CHILD) для перехода к первому вложеному окошку и
GetWindow(хендл,GW_HWNDNEXT) для перехода к сдедующену окошку на том же уровне...
Также посмотри на GetDlgItem ...

Зы - а еще погоняй winsign или spy++ - много чего понятнее станет ...


ULTRIX   (2002-10-28 21:16:00) [2]

To Song - тогда что может вернуть?


SPeller   (2002-10-28 11:47:00) [3]


> Song © (28.10.02 11:43)

ОК, приму к сведению). Но ведь в примере кода речь шла об окне верхнего уровня.


Song   (2002-10-28 11:43:00) [4]

2SPeller © (26.10.02 12:36)
FindWindow() не может вернуть дискриптор контрола, только верхнего окна.


ULTRIX   (2002-10-28 11:32:00) [5]

Придётся попробовать ;)


Alex4444444444   (2002-10-28 01:35:00) [6]

Tak nado, navernoe, Handles editov naiti? Ya uzh tochno ne pomnyu, chtoto tipa FindChildWin...? ili EnumChildWin...?


ULTRIX   (2002-10-28 00:27:00) [7]

Смысл в том, что этой частью исходника могу только изменить заголовок окна, например, "мастак дельфи", но никак не прочитать в этом окне содержание tedit-ов...


SPeller   (2002-10-26 12:36:00) [8]

А проверять хендл на верность пробовал? Может, FindWindow тебе ноль возвращает?


ULTRIX   (2002-10-26 11:01:00) [9]

procedure TForm1.Button2Click(Sender: TObject);
var TheWindowHandle : THandle;
TextToSet: PChar;
begin TheWindowHandle := FindWindow(0, Мастак Дельфи");
BringWindowToTop(TheWindowHandle);
texttoset:="Мастак Дельфи.ру";
SendMessage(TheWindowHandle, WM_setTEXT, 10, integer(texttoset));
end;


Вот часть из исходника программы...


SPeller   (2002-10-26 03:10:00) [10]

Используй WM_GETTEXT и ещё какое-то, котрое заголовок возвращает.


Cobalt   (2002-10-26 02:22:00) [11]

Ошибка в 17-й строке


Наверх

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