Главная страница
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.015 c
3-4727
GIL
2003-01-18 07:44
2003.02.03
Как узнать есть-ли в XP драйвера для Paradox


1-5002
3asys
2003-01-23 12:38
2003.02.03
В чем я ошибаюсь? Создание и просмотр значения TTreeNode.Data


1-4826
MiXen
2003-01-23 02:18
2003.02.03
Местоположение в ScrollBox


8-5076
AM
2002-10-10 10:45
2003.02.03
Есть ли обратный алгоритм


3-4721
Ч
2003-01-17 19:49
2003.02.03
---|Ветка была без названия|---