![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Окна хендлы и эдиты [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-й строке