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

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

Как кликнуть по Radiobutton в дочернем окне чужого приложения? [D5, Win95/98]


Denvor ©   (2002-09-14 03:27:00) 

Проблемма состоит в том, что на одной дочерней форме есть три радиобаттона. Мне програмно надо клукнуть по каждому в отдельности и вот книгу листаю по ВинАпи, FAQ читаю, нахожу какие-то похожие по смыслу коды, но нигде не описано толком что это значит. Вот и не могу идею за хвост уцепить! Помогите пожалуйста.


Крутов Дмитрий   (2002-09-15 05:03:00) [1]

Вы можете создать пользовательское сообщение,
и в WParam передавать, например индекс требуемого
элнмента радиогруппы.
в главной форме пишите:
SendMessage(HWNDChildForm,WM_YuorMessage,NewIndexRadiogroup,0);

в дочереней:
procedure WMYuorMessage(Var Msg :TMessage);message WM_YuorMessage;

в теле этой процедуры используете
Msg.WParam, в котором содержится переданый
индекс.
Не забудьте объявить в обоих модулях, или в общем:
Const
WM_YuorMessage = WM_User+1;


Denvor   (2002-09-15 04:11:00) [2]

Ну вот приведу кусок программы, кто знает ошибку, помогите:
h1:=GetTopWindow(GetActiveWindow);\\Берём хэндл активного окна \\активного приложения.
Str12:="Button"+CHR(0);
Str22:="Name1"+CHR(0);
h2:=FindWindowEx(h1,GetTopWindow(GetActiveWindow),PCHar(Str12),null);\\Ищем в активном окне
хэндл окна класса Button
if h2<>0 then Result:=SendMessage(h2,BM_CLICK,null,null);
\\Програмно нажимаю на эту кнопку
Но вот вопросец, ведь если на форме несколько кнопок, как взять нужную или перебирать их хэндлы?
Вообще то я программу в VBA пишу, и мне надо менять настройки в вызванных диалоговых окнах. Может макрос приостанавливается, при вызове этого диалога?


Song   (2002-09-14 10:19:00) [3]

BM_SETCHECK


Song   (2002-09-14 10:18:00) [4]

BM_CLICK


Наверх

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