{{notification.text}}

MirGames

Студент
21.01.06 20:44
0
Собственно сабж!
#1
аксакал
21.01.06 21:49
0
GetKeyBoardState
1 2 3
#2
Студент
21.01.06 21:55
0
XProger
Если не секрет, то тут правая кнопка под номером 3 - и или 2 - а?
#3
аксакал
21.01.06 22:11
0
petyakurochkin
Чтобы это узнать, тебе необходимо написать 2 строки кода... ВЛОМ?!
#4
Студент
21.01.06 23:00
0
Цитата
ВЛОМ?!

Нет, просто делфи пока не установил...
#5
аксакал
21.01.06 23:49
0
petyakurochkin
Значит, на данный момент это не имеет значения ;)
#6
Студент
22.01.06 14:38
0
Блина, усе поставил, 1 - левая кнопка, 2 - правая, 3 - хз, наверно как раз так, которой у меня нету :D
#7
аксакал
22.01.06 15:36
0
petyakurochkin
3 - это средняя (она же скролл)
#8
Студент
22.01.06 15:38
0
Цитата
3 - это средняя (она же скролл)

А типа как узнать, на сколько градусов с момента моего прошолого опроса мышки провернул пользователь свой скролл.
#9
22.01.06 18:44
0
petyakurochkin
А типа справкой воспользоваться религия не позволяет ???

Цитата
The WM_MOUSEWHEEL message is sent to the focus window when the mouse wheel is rotated. The DefWindowProc function propagates the message to the window's parent. There should be no internal forwarding of the message, since DefWindowProc propagates it up the parent chain until it finds a window that processes it.

WM_MOUSEWHEEL
fwKeys = LOWORD(wParam);    // key flags
zDelta = (short) HIWORD(wParam);    // wheel rotation
xPos = (short) LOWORD(lParam);    // horizontal position of pointer
yPos = (short) HIWORD(lParam);    // vertical position of pointer

Parameters

fwKeys

Value of the low-order word of wParam. Indicates whether various virtual keys are down. This parameter can be any combination of the following values:

Value Description
MK_CONTROL Set if the CTRL key is down.
MK_LBUTTON Set if the left mouse button is down.
MK_MBUTTON Set if the middle mouse button is down.
MK_RBUTTON Set if the right mouse button is down.
MK_SHIFT Set if the SHIFT key is down.


zDelta

The value of the high-order word of wParam. Indicates the distance that the wheel is rotated, expressed in multiples or divisions of WHEEL_DELTA, which is 120. A positive value indicates that the wheel was rotated forward, away from the user; a negative value indicates that the wheel was rotated backward, toward the user.

xPos

Value of the low-order word of lParam. Specifies the x-coordinate of the pointer, relative to the upper-left corner of the screen.

yPos

Value of the high-order word of lParam. Specifies the y-coordinate of the pointer, relative to the upper-left corner of the screen.

Remarks

The zDelta parameter will be a multiple of WHEEL_DELTA, which is set at 120. This is the threshold for action to be taken, and one such action (for example, scrolling one increment) should occur for each delta.
The delta was set to 120 to allow Microsoft or other vendors to build finer-resolution wheels in the future, including perhaps a freely-rotating wheel with no notches. The expectation is that such a device would send more messages per rotation, but with a smaller value in each message. To support this possibility, you should either add the incoming delta values until WHEEL_DELTA is reached (so for a given delta-rotation you get the same response), or scroll partial lines in response to the more frequent messages. You could also choose your scroll granularity and accumulate deltas until it is reached.

See Also

GetSystemMetrics, mouse_event, SystemParametersInfo
#10
Студент
22.01.06 19:29
0
Цитата
А типа справкой воспользоваться религия не позволяет ???

А типа читать форумм надо внимательнее, я же говорил, не пользуясь сообщениями!
#11
22.01.06 19:45
0
petyakurochkin
А в этой теме где конкретно это написано ???
Я не телепат, в отличае от ХэПрогера =)

Но справку то все равно почитай...полезно...

Что читать даже подчеркнуто:

Цитата
See Also

GetSystemMetrics, mouse_event, SystemParametersInfo


ну и там собственно:

Цитата
The SystemParametersInfo function queries or sets systemwide parameters. This function can also update the user profile while setting a parameter.

BOOL SystemParametersInfo(

    UINT uiAction, // system parameter to query or set
    UINT uiParam, // depends on action to be taken
    PVOID pvParam, // depends on action to be taken
    UINT fWinIni  // user profile update flag
  );

Parameters

uiAction

Specifies the systemwide parameter to query or set. This parameter can be one of the following values:
SPI_GETMOUSE
Retrieves the two mouse threshold values and the mouse speed. The pvParam parameter must point to an array of three integers that receives these values. See mouse_event for further information.

...

The mouse_event function synthesizes mouse motion and button clicks.

VOID mouse_event(

    DWORD dwFlags, // flags specifying various motion/click variants
    DWORD dx, // horizontal mouse position or position change
    DWORD dy, // vertical mouse position or position change
    DWORD dwData, // amount of wheel movement
    DWORD dwExtraInfo  // 32 bits of application-defined information
  );

Parameters

dwFlags

A set of flag bits that specify various aspects of mouse motion and button clicking. The bits in this parameter can be any reasonable combination of the following values:

Value Meaning
MOUSEEVENTF_ABSOLUTE Specifies that the dx and dy parameters contain normalized absolute coordinates. If not set, those parameters contain relative data: the change in position since the last reported position. This flag can be set, or not set, regardless of what kind of mouse or mouse-like device, if any, is connected to the system. For further information about relative mouse motion, see the following Remarks section.
MOUSEEVENTF_MOVE Specifies that movement occurred.
MOUSEEVENTF_LEFTDOWN Specifies that the left button changed to down.
MOUSEEVENTF_LEFTUP Specifies that the left button changed to up.
MOUSEEVENTF_RIGHTDOWN Specifies that the right button changed to down.
MOUSEEVENTF_RIGHTUP Specifies that the right button changed to up.
MOUSEEVENTF_MIDDLEDOWN Specifies that the middle button changed to down.
MOUSEEVENTF_MIDDLEUP Specifies that the middle button changed to up.
MOUSEEVENTF_WHEEL Windows NT only: Specifies that the wheel has been moved, if the mouse has a wheel. The amount of movement is given in dwData.

dwData

If dwFlags is MOUSEEVENTF_WHEEL, then dwData specifies the amount of wheel movement. A positive value indicates that the wheel was rotated forward, away from the user; a negative value indicates that the wheel was rotated backward, toward the user. One wheel click is defined as WHEEL_DELTA, which is 120.
If dwFlags is not MOUSEEVENTF_WHEEL, then dwData should be zero.
Отредактировано: 22.01.06 19:48
#12
аксакал
22.01.06 21:58
0
Drako
Его вопросы настолько примитивны, что помещаются в строке сабжа :)
Это всё лень... а ты молодец, даже мне "кусочка" не оставил ;)
#13
22.01.06 22:37
0
XProger
Да просто настроение такое было...на будущее буду сдержанней =)
Отредактировано: 22.01.06 22:47
#14
Студент
23.01.06 22:34
0
Цитата
Его вопросы настолько примитивны, что помещаются в строке сабжа

Нет, просто я умею задавать вопросы правильно!
Цитата
Это всё лень...

Это ты мне???
#15
аксакал
24.01.06 05:59
0
petyakurochkin
Всё тебе, родимый... тебе! ;)
#16
Студент
24.01.06 11:08
0
Биг сенкс, перевёл Промтом, короче я понял так (Просто ради проверки), что все параметры той ф - ции воспринимаются, как выходные, и если dwFlags = MOUSEEVENTFWHEEL, то в dwData мне возвращается кол - во оборотов div 120!
Правильно или нет?

P.S. Что то меня очень там смущает фраза
Цитата
MOUSEEVENTF_WHEEL Windows NT only: Specifies that the wheel has been moved, if the mouse has a wheel. The amount of movement is given in dwData.
Отредактировано: 24.01.06 11:08
#17
аксакал
24.01.06 13:32
0
petyakurochkin
Ты пытаешься реализовать извращённый доступ к колесу мыши, и при этом сделать так, чтобы работало везде и всегда? Помимо этого, если твоё приложение упустит момент вращения колеса - оно об этом видимо не узнает никогда...
Захотел через "попу" и без DInput - получай, но о большем и не мечтай! ;)
#18
MirGames Dev
24.01.06 15:15
0
Цитата
Захотел через "попу" и без DInput - получай, но о большем и не мечтай! ;)

Прям стихи :)
P.S. Не у всех есть ролик на мышке, вернее не на каждой мыши есть ролик :) Встречаются такие агрегаты! :) Так что это надо учитывать и функциональность ролика дублировать.
#19
Студент
24.01.06 21:25
0
Цитата
Захотел через "попу"

??? А как по другому, но без DInput??? В справке,я не нашёл другого метода...
Просто если можно то без агруссий просто дайте ссылку на справку типа Win32 ->...
#20
аксакал
24.01.06 21:41
0
Цитата
но не через сообщения Windows
Вот это называется - через попу
#{{post.Index}}
{{post.Author.Login}}
{{post.CreatedDate | date:'dd.MM.yy HH:mm'}}
{{post.VotesRating}}
Отредактировано: {{post.UpdatedDate | date:'dd.MM.yy HH:mm'}}