Вниз
Скачать: CL | DM;

Как кликнуть по Radiobutton в дочернем окне чужого приложения?   Найти похожие ветки 

 
Denvor ©   (2002-09-14 03:27) [0]

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


 
Song ©   (2002-09-14 10:18) [1]

BM_CLICK


 
Song ©   (2002-09-14 10:19) [2]

BM_SETCHECK


 
Denvor ©   (2002-09-15 04:11) [3]

Ну вот приведу кусок программы, кто знает ошибку, помогите:
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 пишу, и мне надо менять настройки в вызванных диалоговых окнах. Может макрос приостанавливается, при вызове этого диалога?


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

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

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

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




Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.011 c
1-92485
AlexeyMir
2002-10-18 11:02
2002.10.28
Сортировка в ListView


4-92798
gosha
2002-09-16 09:43
2002.10.28
Locked WINXP/2000


14-92680
KidMan
2002-10-06 23:18
2002.10.28
Инсталяция программы, BDE и алиасы


8-92612
Deadlock
2002-06-30 05:30
2002.10.28
Тормоза DelphiX


7-92766
vvant
2002-08-23 16:49
2002.10.28
Как убрать приложение из списка по Ctrl+Alt+Del ?




   Наверх