IPB
ЛогинПароль:

> 

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

 
 Ответить  Открыть новую тему 
> Программирование мыши, Fpc
сообщение
Сообщение #1


Гуру
*****

Группа: Пользователи
Сообщений: 1 117
Пол: Мужской
Реальное имя: Богдан

Репутация: -  11  +


А как обрабатывать нестандартную мышь (больше двух кнопок)? У меня, например, есть 5 кнопок + колесико, которое можно крутить и нажимать тремя разными способами, как использовать все возможности?


--------------------
Лао-Цзы :
Знать много и не выставлять себя знающим есть нравственная высота. Знать мало и выставлять себя знающим есть болезнь. Только понимая эту болезнь, мы можем избавиться от нее.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #2


Гуру
*****

Группа: Пользователи
Сообщений: 1 117
Пол: Мужской
Реальное имя: Богдан

Репутация: -  11  +


Нашел smile.gif . Копать надо в сторону WM_APPCOMMAND message и XBUTTONs
Хотя это сообщение тоже не поддерживается в Fpc sad.gif

Сообщение отредактировано: Bokul -


--------------------
Лао-Цзы :
Знать много и не выставлять себя знающим есть нравственная высота. Знать мало и выставлять себя знающим есть болезнь. Только понимая эту болезнь, мы можем избавиться от нее.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #3


Гость






Покажи, КАК ты его обрабатываешь...
 К началу страницы 
+ Ответить 
сообщение
Сообщение #4


Гуру
*****

Группа: Пользователи
Сообщений: 1 117
Пол: Мужской
Реальное имя: Богдан

Репутация: -  11  +


Ну как обычно - добавляю WM_APPCOMMAND в callback функцию класса, а потом, в соответствии с lParam параметром сообщения, делаю нужное для меня действие. А что?

P.S. Это план, код я не писал..

Сообщение отредактировано: Bokul -


--------------------
Лао-Цзы :
Знать много и не выставлять себя знающим есть нравственная высота. Знать мало и выставлять себя знающим есть болезнь. Только понимая эту болезнь, мы можем избавиться от нее.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #5


Гость






В чем проблема? Не знаем кодов сообщений? smile.gif

const
WM_XBUTTONDOWN = $020B;
WM_XBUTTONUP = $020C;
WM_XBUTTONDBLCLK= $020D;
MOUSE_XBUTTON1 = $0001;
MOUSE_XBUTTON2 = $0002;
blum.gif
 К началу страницы 
+ Ответить 
сообщение
Сообщение #6


Гуру
*****

Группа: Пользователи
Сообщений: 1 117
Пол: Мужской
Реальное имя: Богдан

Репутация: -  11  +


А для WM_APPCOMMAND и его параметра lParam? rolleyes.gif

P.S. Может создать отдельную тему, посвящённую константам WinApi?


--------------------
Лао-Цзы :
Знать много и не выставлять себя знающим есть нравственная высота. Знать мало и выставлять себя знающим есть болезнь. Только понимая эту болезнь, мы можем избавиться от нее.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #7


Гость






const
WM_APPCOMMAND = $0319;

APPCMD_FIRST = $8000;
APPCOMMAND_BROWSER_BACKWARD = APPCMD_FIRST +1;
APPCOMMAND_BROWSER_FORWARD = APPCMD_FIRST +2;
APPCOMMAND_BROWSER_REFRESH = APPCMD_FIRST +3;
APPCOMMAND_BROWSER_STOP = APPCMD_FIRST +4;
APPCOMMAND_BROWSER_SEARCH = APPCMD_FIRST +5;
APPCOMMAND_BROWSER_FAVORITES = APPCMD_FIRST +6;
APPCOMMAND_BROWSER_HOME = APPCMD_FIRST +7;
APPCOMMAND_VOLUME_MUTE = APPCMD_FIRST +8;
APPCOMMAND_VOLUME_DOWN = APPCMD_FIRST +9;
APPCOMMAND_VOLUME_UP = APPCMD_FIRST +10;
APPCOMMAND_MEDIA_NEXTTRACK = APPCMD_FIRST +11;
APPCOMMAND_MEDIA_PREVIOUSTRACK = APPCMD_FIRST +12;
APPCOMMAND_MEDIA_STOP = APPCMD_FIRST +13;
APPCOMMAND_MEDIA_PLAY_PAUSE = APPCMD_FIRST +14;
APPCOMMAND_LAUNCH_MAIL = APPCMD_FIRST +15;
APPCOMMAND_LAUNCH_MEDIA_SELECT = APPCMD_FIRST +16;
APPCOMMAND_LAUNCH_APP1 = APPCMD_FIRST +17;
APPCOMMAND_LAUNCH_APP2 = APPCMD_FIRST +18;
APPCOMMAND_BASS_DOWN = APPCMD_FIRST +19;
APPCOMMAND_BASS_BOOST = APPCMD_FIRST +20;
APPCOMMAND_BASS_UP = APPCMD_FIRST +21;
APPCOMMAND_TREBLE_DOWN = APPCMD_FIRST +22;
APPCOMMAND_TREBLE_UP = APPCMD_FIRST +23;
APPCOMMAND_MICROPHONE_VOLUME_MUTE = APPCMD_FIRST +24;
APPCOMMAND_MICROPHONE_VOLUME_DOWN = APPCMD_FIRST +25;
APPCOMMAND_MICROPHONE_VOLUME_UP = APPCMD_FIRST +26;
APPCOMMAND_HELP = APPCMD_FIRST +27;
APPCOMMAND_FIND = APPCMD_FIRST +28;
APPCOMMAND_NEW = APPCMD_FIRST +29;
APPCOMMAND_OPEN = APPCMD_FIRST +30;
APPCOMMAND_CLOSE = APPCMD_FIRST +31;
APPCOMMAND_SAVE = APPCMD_FIRST +32;
APPCOMMAND_PRINT = APPCMD_FIRST +33;
APPCOMMAND_UNDO = APPCMD_FIRST +34;
APPCOMMAND_REDO = APPCMD_FIRST +35;
APPCOMMAND_COPY = APPCMD_FIRST +36;
APPCOMMAND_CUT = APPCMD_FIRST +37;
APPCOMMAND_PASTE = APPCMD_FIRST +38;
APPCOMMAND_REPLY_TO_MAIL = APPCMD_FIRST +39;
APPCOMMAND_FORWARD_MAIL = APPCMD_FIRST +40;
APPCOMMAND_SEND_MAIL = APPCMD_FIRST +41;
APPCOMMAND_SPELL_CHECK = APPCMD_FIRST +42;
APPCOMMAND_DICTATE_OR_COMMAND_CONTROL_TOGGLE = APPCMD_FIRST +43;
APPCOMMAND_MIC_ON_OFF_TOGGLE = APPCMD_FIRST +44;
APPCOMMAND_CORRECTION_LIST = APPCMD_FIRST +45;
APPCOMMAND_MEDIA_PLAY = APPCMD_FIRST +46;
APPCOMMAND_MEDIA_PAUSE = APPCMD_FIRST +47;
APPCOMMAND_MEDIA_RECORD = APPCMD_FIRST +48;
APPCOMMAND_MEDIA_FAST_FORWARD = APPCMD_FIRST +49;
APPCOMMAND_MEDIA_REWIND = APPCMD_FIRST +50;
APPCOMMAND_MEDIA_CHANNEL_UP = APPCMD_FIRST +51;
APPCOMMAND_MEDIA_CHANNEL_DOWN = APPCMD_FIRST +52;
Хватит, или еще чего-то нету?

Да, вот этого не было:
MK_LBUTTON  = $0001;
MK_RBUTTON = $0002;
MK_SHIFT = $0004;
MK_CONTROL = $0008;
MK_MBUTTON = $0010;
MK_XBUTTON1 = $0020;
MK_XBUTTON2 = $0040;
 К началу страницы 
+ Ответить 
сообщение
Сообщение #8


Гуру
*****

Группа: Пользователи
Сообщений: 1 117
Пол: Мужской
Реальное имя: Богдан

Репутация: -  11  +


Спасибо!!! good.gif
Вот также нашел некоторые константы Сообщения WM_XXX, но не все.. sad.gif


--------------------
Лао-Цзы :
Знать много и не выставлять себя знающим есть нравственная высота. Знать мало и выставлять себя знающим есть болезнь. Только понимая эту болезнь, мы можем избавиться от нее.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #9


code warrior
****

Группа: Пользователи
Сообщений: 484
Пол: Мужской
Реальное имя: Славен

Репутация: -  8  +


А ещё есть DirectInput.....
Я через него свой джойстик обрабатывал....


--------------------
ИзВ ин ИтЕ зА нЕ рОв НЫй П оч ЕРк
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #10


Гуру
*****

Группа: Пользователи
Сообщений: 1 117
Пол: Мужской
Реальное имя: Богдан

Репутация: -  11  +


Это как? На уровне драйвера?


--------------------
Лао-Цзы :
Знать много и не выставлять себя знающим есть нравственная высота. Знать мало и выставлять себя знающим есть болезнь. Только понимая эту болезнь, мы можем избавиться от нее.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #11


code warrior
****

Группа: Пользователи
Сообщений: 484
Пол: Мужской
Реальное имя: Славен

Репутация: -  8  +


Нет, это часть библиотеки DirectX, есть ещё Direct3D, DirectDraw и другие.

Это естественно, объектно-ориентированная библиотека.
Общий принцип работы с устройствами ввода (клавиатурами, джойстиками, джойпадами, мышами) там сводится к периодическому их опросу, нет встроенной событийной модели.

В сети есть порт С++ заголовков на Delphi (и соответственно совместимых с FPC), правда я его не встречал - не приходилось работать с Direct'ом на Делфи.

Сообщение отредактировано: hardcase -


--------------------
ИзВ ин ИтЕ зА нЕ рОв НЫй П оч ЕРк
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
сообщение
Сообщение #12


Гость






Цитата
В сети есть порт С++ заголовков на Delphi
Не только... На FPC тоже портировали... Не все из Дельфей было совместимо с FPC...

Здесь ...
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 23.09.2020 17:17
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name