Вниз
Скачать: 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 вся ветка

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



Память: 0.46 MB
Время: 0.011 c
3-4758
Sectey
2003-01-16 10:30
2003.02.03
Координаты текущей ячейки в Grid-е


3-4751
dahs78
2003-01-15 14:38
2003.02.03
Работа с гридом


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


6-5099
Delphi5.01
2002-12-07 14:51
2003.02.03
Razmer paketa v Socket


3-4738
False
2003-01-15 17:18
2003.02.03
TOracleDataSet.CanModify




   Наверх