Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2003.02.03;
Скачать: [xml.tar.bz2];

Вниз

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 вся ветка

Форум: "WinAPI";
Текущий архив: 2003.02.03;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.011 c
3-4748
oleon
2003-01-15 11:52
2003.02.03
Здраствуйте. У меня сегодня день рождения. Есть функция UDF.


4-5356
Pavel Lechenko
2002-12-18 17:45
2003.02.03
Создание пользовательского контекста


14-5160
[Baradoo]
2003-01-17 20:35
2003.02.03
Реальная МУЗа


6-5116
Blacker77
2002-12-09 23:35
2003.02.03
Рейтинг файлов на сервере


4-5332
ЭД
2002-12-12 21:39
2003.02.03
Автозагрузка





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский