Re[2]: Как определить хэндл элемента диалога...
От: Аноним  
Дата: 22.12.02 13:21
Оценка:
Здравствуйте, alexey_ma, Вы писали:

AM>GetDlgItem ,помоему, и не должен работать. Откуда ты control identifier знаешь в чужой программе?


Предположим, что я знаю хендл, но дело не в этом.
Я перебираю все элементы диалога, примерно так как ты искал хендл кнопки.
По идее должны возвращаться хэндлы всех элементов, но возвращаются только два. У обоих класс EDTBX.

Вообще задача в том, чтобы управлять диалого Excel-я из другого, моего, диалога.
Я уже научился нажимать кнопки, но т.к. не могу получить хэндл, то нажимать кнопку приходится
по средством посылки WM_LBUTTONDOWN и WM_LBUTTONUP.

Все, казалось бы, хорошо. Но я не могу редактировать edit-ы.

Если интересно можешь сам проверить.
Я из своей программы открываю диалоговое окно Excel-я
PostMessage(hExcel,WM_COMMAND,32,0);


Хендл Excel-я нашли перебором всех окон и проверкой их заголовков на наличие Microsoft Excel.
Потом открываю диалоговое окно.
Потом ищу хэндл диалогового окна точно такще. причем начинаю поиск с GetTopWindow(NULL).
Если начинать поиск среди дочерних окон Excel, т.е. GetTopWindow(hExcel), то ничего не найдем.

Так, ну а дальше начинается самое интересное. Просматриваем все элементы диалога.
У еня находит только два окна редактирования. Остальных елементов как будто в этом окне нет.

Вообщем я в тупике.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.