Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.02.03;
Скачать: CL | DM;

Вниз

API - необходимо произвести LeftClick по Buttonу др. приложения   Найти похожие ветки 

 
EndDie   (2002-12-10 09:41) [0]

Доброго времени суток!
Проблема:
есть приложение нужно им управлять.
Что есть:есть хэндл главного окна, а также хэндлы и Rect: TRect всех его дочек.
Вопрос: (wnd: HWND)
PostMessage(wnd,WM_LBUTTONDOWN,0,MakeLong(rect.Left+3,rect.Top+3));
PostMessage(wnd,WM_SETCURSOR,wnd1,MakeLong(HTCLIENT,WM_LBUTTONDOWN));
PostMessage(wnd,WM_LBUTTONUP,0,MakeLong(rect.Left+3,rect.Top+3));

Почему это не работает???
Подскажите плиз как правильно!
Заранее благодарен.


 
Song ©   (2002-12-10 09:46) [1]

Потому что wnd - это должен быть дискриптор дочернего контрола, а не главного окна.


 
EndDie   (2002-12-10 12:20) [2]

мде
хэндл естественно дочки, поэтому и спрашиваю, что вроде все верно (теоретически по крайней мере), а не получается...


 
reonid ©   (2002-12-10 13:00) [3]

EndDie (10.12.02 09:41)

Rectы дочек в каких координатах? - главного окна? -
попробуй вместо rect.Left+3,rect.Top+3 просто 3, 3 и т.д.


 
Song ©   (2002-12-10 13:47) [4]

Может просто BM_CLICK и не мучатся?


 
Almaz ©   (2002-12-11 02:46) [5]


> EndDie (10.12.02 09:41)
> Вопрос: (wnd: HWND)
> PostMessage(wnd,WM_LBUTTONDOWN,0,MakeLong(rect.Left+3,rect.Top+3));
> PostMessage(wnd,WM_SETCURSOR,wnd1,MakeLong(HTCLIENT,WM_LBUTTONDOWN));
> PostMessage(wnd,WM_LBUTTONUP,0,MakeLong(rect.Left+3,rect.Top+3));
> Почему это не работает???

Если вы внимательно посмотрите, что написано в help"е про сообщение WM_LBUTTONDOWN, то непременно заметите, что XPos и YPos, передаваемые в сообщении, это координаты курсора относительно левого верхнего угла клиентской области окна, которому передается сообщение, т.е. относительно дочки.
Т.е. правильно будет, как уже заметил reonid, делать так:
PostMessage(wnd,WM_LBUTTONDOWN,0,MakeLong(3, 3));
PostMessage(wnd,WM_LBUTTONUP,0,MakeLong(3, 3));


Удачи.


 
Rouse_ ©   (2002-12-11 03:47) [6]

Дополню, все же лучше делать SendMessage IMHO (хотя это на результат не влияет, скорее на скорость)

Желаю упехов


 
Rouse_ ©   (2002-12-11 03:49) [7]

Имеется ввиду именно в контексте текущего топика

Желаю успехов


 
EndDie   (2002-12-19 09:46) [8]

Спасибо, reonid, all.



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

Текущий архив: 2003.02.03;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.012 c
14-5221
Supreme
2003-01-15 20:24
2003.02.03
Возможна ли в России хорошая жизнь?


14-5184
DelAlanPhi
2003-01-11 23:45
2003.02.03
Программы без <B>GOTO</B>


6-5121
Neo_c
2002-12-06 14:09
2003.02.03
Нужна помощь


7-5300
ReYken
2002-11-18 11:43
2003.02.03
Вывод текста поверх всех окон.


1-4887
Юный_программер
2003-01-24 19:25
2003.02.03
Если я использую переменную типа double и его точно округляю допу