Имитация клика на элементе

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Тимофей
Обычный пользователь
Обычный пользователь
 
Сообщения: 83
Зарегистрирован: 01.03.2004 (Пн) 10:01
Откуда: Киров

Имитация клика на элементе

Сообщение Тимофей » 09.09.2004 (Чт) 13:09

Нужно симитироввать нажатие кнопки мыши на PictureBox.
Знаю, что нужно использовать SendMessage, но не знаю какие нужны константы. Помогите.

Юстас
Бывалый
Бывалый
 
Сообщения: 200
Зарегистрирован: 24.10.2003 (Пт) 5:05

Сообщение Юстас » 09.09.2004 (Чт) 14:34

Const WM_LBUTTONDOWN As Long = &H201
SendMessage Pic1.hwnd, WM_LBUTTONDOWN, 0, 0

wParam : key indicator
lParam : hiword= y-coordinate, loword=x-coordinate

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 09.09.2004 (Чт) 14:56

Только WM_LBUTTONUP не забудь потом послать
Изображение

Юстас
Бывалый
Бывалый
 
Сообщения: 200
Зарегистрирован: 24.10.2003 (Пт) 5:05

Сообщение Юстас » 09.09.2004 (Чт) 16:04

tyomitch писал(а):Только WM_LBUTTONUP не забудь потом послать


Зачем? Боишься кнопка останется нажатой?

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 09.09.2004 (Чт) 17:55

Юстас писал(а):
tyomitch писал(а):Только WM_LBUTTONUP не забудь потом послать


Зачем? Боишься кнопка останется нажатой?
Ага :-)
Изображение

PATRIOT_kz
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 105
Зарегистрирован: 14.09.2004 (Вт) 21:09
Откуда: Павлодар, Казахстан

Сообщение PATRIOT_kz » 14.09.2004 (Вт) 21:26

{ХРЕН ВАМ ВСЕМ!!!}

ХеХе а ещё фидошники!
Не слушай их пацан, это шпана.
Нужно посылать 'BM_SETSTATE'
вот типа пример:)
---
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal HWND As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Const BM_SETSTATE = &HF3

Private Sub Imitation()
SendMessage hWnd, BM_SETSTATE, 0, 0
End Sub

===
Где hWnd - это handle элемента.
Просто на днях подобная хрень была у меня, вот поэтому с недавних пор знаю.
Press any key . . .

A.A.Z.
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3035
Зарегистрирован: 30.06.2003 (Пн) 13:38

Сообщение A.A.Z. » 14.09.2004 (Вт) 21:36

MSDN писал(а):BM_SETSTATE
An application sends a BM_SETSTATE message to change the highlight state of a button. The highlight state indicates whether the button is highlighted as if the user had pushed it.

WM_LBUTTONDOWN
The WM_LBUTTONDOWN message is posted when the user presses the left mouse button while the cursor is in the client area of a window. If the mouse is not captured, the message is posted to the window beneath the cursor. Otherwise, the message is posted to the window that has captured the mouse.

PATRIOT_kz
Продвинутый пользователь
Продвинутый пользователь
Аватара пользователя
 
Сообщения: 105
Зарегистрирован: 14.09.2004 (Вт) 21:09
Откуда: Павлодар, Казахстан

Сообщение PATRIOT_kz » 14.09.2004 (Вт) 21:44

A.A.Z. - нужно не только книжки читать!
А ещё и на практите всё это проверять!!
Press any key . . .

GSerg
Шаман
Шаман
 
Сообщения: 14286
Зарегистрирован: 14.12.2002 (Сб) 5:25
Откуда: Магадан

Сообщение GSerg » 14.09.2004 (Вт) 22:03

Эх, эникейщик...
Как ты себе представляешь BM применительно к пикчербоксу?
И даже если представляешь - SETSTATE меняет визуальное оформление, но никак не генерирует ни клик, ни события, с ним ассоциированные.
А книжки читать полезно, поверь мне...
Как только вы переберёте все варианты решения и не найдёте нужного, тут же обнаружится решение, простое и очевидное для всех, кроме вас

Юстас
Бывалый
Бывалый
 
Сообщения: 200
Зарегистрирован: 24.10.2003 (Пт) 5:05

Сообщение Юстас » 14.09.2004 (Вт) 22:24

Мда, то BM_SETSTATE посылает ПикчерБоксу, то LockWindowUpdate для Label'a ...

Это очень серьёзно! :)

BP
Бывалый
Бывалый
 
Сообщения: 234
Зарегистрирован: 17.02.2004 (Вт) 5:34
Откуда: Украина

Сообщение BP » 14.09.2004 (Вт) 23:17

ХеХе а ещё фидошники!

Что ты имел ввиду?

tyomitch
Пользователь #1352
Пользователь #1352
Аватара пользователя
 
Сообщения: 12822
Зарегистрирован: 20.10.2002 (Вс) 17:02
Откуда: חיפה

Сообщение tyomitch » 15.09.2004 (Ср) 6:22

BP, это он типа на меня наехал, наверное?
Изображение

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 15.09.2004 (Ср) 10:50

Пророчествую! :)
Если один патриот с Казахстана не станет вежливым и культурным, придут злой, но справедливый Луч Тени, и забанит его нафиг :)
Lasciate ogni speranza, voi ch'entrate.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 13

    TopList