Вверх ↑
Этот топик читают: Гость
Ответов: 59
Рейтинг: 1
#1: 2022-07-29 10:21:42 ЛС | профиль | цитата
Приветствую. Подскажите какой элемент применить для получения данных с колеса прокрутки мыши? Т.е. крутим колесо выдаёт цифры в поток или какие-то данные.

--- Добавлено в 2022-07-29 10:34:49

Всё нашёл это в самой форме есть оказывается.

Редактировалось 1 раз(а), последний 2022-07-29 10:34:49
карма: 1

0
vip
#1.1контекстная реклама от партнеров
Ответов: 8778
Рейтинг: 813
#2: 2022-07-29 12:04:05 ЛС | профиль | цитата
Andrej77rv,
И во всех интерфейсных элементах:

Add(MainForm,2953706,161,98)
{
}
Add(Edit,2853602,238,98)
{
Left=140
Top=30
Point(onMouseWheel)
link(onMouseWheel,2853602:doText2,[(277,118)(277,139)(228,139)(228,111)])
}

карма: 18

0
Ответов: 172
Рейтинг: 4
#3: 2022-07-30 11:32:11 ЛС | профиль | цитата
Из схемы выше получаю либо 120 либо -120
Так и должно быть?
карма: 0
HiAsm Studio
0
Ответов: 2019
Рейтинг: 129
#4: 2022-07-30 12:23:18 ЛС | профиль | цитата
envoy_sky писал(а):
Из схемы выше получаю либо 120 либо -120
Так и должно быть?

Мужик лежит на диване и молится: «Господи, помоги мне разбогатеть. Ведь ты все можешь! Я верую в твое могущество! Я надеюсь на твое милосердие!» А Господь, с досадой: «Мужик, ну ты хоть лотерейный билет купи!»

А счётчик поставить религия не позволяет?
Add(MainForm,542193,252,140)
{
}
Add(Edit,2853602,329,140)
{
Left=140
Top=30
Point(onMouseWheel)
link(onMouseWheel,12635417:doCompare,[(383,160)(383,195)])
}
Add(CounterEx,14459525,595,182)
{
Min=-100
Point(doDirect)
link(onNext,2853602:doText2,[(639,188)(639,170)(317,170)(317,153)])
}
Add(If_else,12635417,406,189)
{
Type=1
Op2=Integer(0)
link(onTrue,14979526:doData,[(457,195)(457,181)])
link(onFalse,13021145:doData,[(457,202)(457,237)])
}
Add(DoData,13021145,476,231)
{
Data=Integer(0)
link(onEventData,1046696:doWork3,[(529,237)])
}
Add(DoData,14979526,476,175)
{
Data=Integer(1)
link(onEventData,1046696:doWork2,[(524,181)(524,202)])
}
Add(Hub,11320846,539,196)
{
link(onEvent1,14459525:doDirect,[(574,202)(574,195)])
link(onEvent2,14459525:doNext,[(574,209)(574,188)])
}
Add(HubEx,1046696,525,196)
{
link(onEvent,11320846:doEvent1,[])
}



Add(MainForm,4983658,189,56)
{
Position=1
Point(Handle)
link(onCreate,15561254:doPopup,[])
}
Add(InlineCode,12360657,336,294)
{
@Hint=#24:Глобальный перехват мыши|
EventPoints=#2:ev|
Code=#15:unit HiAsmUnit;|0:|9:interface|0:|38:uses kol,Share,Debug,windows,messages;|0:|4:type|27: tagMSLLHOOKSTRUCT = record|12: pt:TPoint;|18: mouseData:dword;|14: flags:dword;|13: time:dword;|23: dwExtraInfo:^Cardinal|5: end;|0:|4:type|28: THiAsmClass = class(TDebug)|10: private|0:|9: public|17: ev:THI_Event;|0:|23: constructor Create;|33: destructor Destroy; override;|0:|5: end;|0:|14:var H:THandle;|20: hac:THiAsmClass;|0:|14:implementation|0:|49:function hook(code,w,l:integer):Lresult; stdcall;|15:var str:string;|25: ll:tagMSLLHOOKSTRUCT;|15: d:LongWord;|5:begin|38: ll := tagMSLLHOOKSTRUCT(pointer(l)^);|0:|26: d := ll.mouseData shr 16;|46: if d and $8000 <> 0 then d := d or $FFFF0000;|0:|30: str := Int2Str(w)+Int2Str(d);|25: _hi_OnEvent(hac.ev,str);|38: result := CallNextHookEx(H,code,w,l);|4:end;|0:|31:constructor THiAsmClass.Create;|5:begin|18: inherited Create;|13: hac := self;|48: H := SetWindowsHookEx(14, @hook, hInstance, 0);|82: if H = 0 then messagebox(ReadHandle,'Ошибка перехвата мыши','ERROR',mb_iconhand);|4:end;|0:|31:destructor THiAsmClass.Destroy;|5:begin|24: UnhookWindowsHookEx(H);|19: inherited Destroy;|4:end;|0:|4:end.|
link(ev,14423304:doAdd,[])
}
Add(Memo,14423304,392,294)
{
Left=10
Top=5
Width=160
Height=260
AddType=1
ScrollBars=2
}
Add(InfoTip,13344029,322,91)
{
Info=#20:5120 - движение мыши|55:522ХХХ - прокрутка колеса, где ХХХ - значение прокрутки|18:5130 - нажатие ЛКМ|21:5140 - отпускание ЛКМ|18:5160 - нажатие ПКМ|21:5170 - отпускание ПКМ|21:5190 - нажатие колеса|24:5200 - отпускание колеса|33:5231 - нажатие 1-й боковой кнопки|36:5241 - отпускание 1-й боковой кнопки|33:5232 - нажатие 2-й боковой кнопки|35:5242 - отпускание 2-й боковй кнопки|
Frame=2
Transparent=1
HAlign=0
Width=316
Height=172
Margin=5
}
Add(WinTools,15561254,238,63)
{
link(Handle,4983658:Handle,[(244,51)(220,51)(220,100)(195,100)])
}


Редактировалось 2 раз(а), последний 2022-07-30 12:30:17
карма: 5

0
Ответов: 172
Рейтинг: 4
#5: 2022-07-30 14:06:11 ЛС | профиль | цитата
flint2 писал(а):
А счётчик поставить религия не позволяет?


Да я подумал что число 120 от модели мышки зависят или от настроек мышки.
Откуда берётся это число?

Редактировалось 2 раз(а), последний 2022-07-30 14:08:11
карма: 0
HiAsm Studio
0
Ответов: 412
Рейтинг: 67
#6: 2022-07-30 16:28:35 ЛС | профиль | цитата
envoy_sky писал(а):
Откуда берётся это число?

Вот хорошая статья.
https://devblogs.microsoft.com/oldnewthing/20130123-00/?p=5473
карма: 9

0
Ответов: 2019
Рейтинг: 129
#7: 2022-07-30 16:35:27 ЛС | профиль | цитата
А разве имеет решающие значение на какого цвета автобусе ехать домой?

Вот внимательный натуралист мог бы заметить, что в двух примерах цифры соответствующие одним и тем-же кнопкам мыши различны при одной и той-же мышке. - зависит от API.
Важно то, то число соответствующее ЛКМ отлично от ПКМ.
карма: 5

0
Ответов: 412
Рейтинг: 67
#8: 2022-07-30 16:40:18 ЛС | профиль | цитата
flint2 писал(а):
А разве имеет решающие значение на какого цвета автобусе ехать домой?

Нет, не имеет. Но envoy_sky спрашивал про число которое выдаётся при скроле колёсика мышки.
А в статье очень оригинальное объяснение почему именно 120.
карма: 9

0
Ответов: 2019
Рейтинг: 129
#9: 2022-07-30 18:27:32 ЛС | профиль | цитата
Gunta писал(а):
Нет, не имеет. Но envoy_sky спрашивал про число которое выдаётся...

Вот я про то же. Почему такая мысль возникла и такой вопрос?
Вот например в SDL2(интерфейсная библиотека для многих графических движков, а`ля стандарт для них) совсем другие значения, с 200xxx начинается, а в ImGui совсем другие.

Редактировалось 4 раз(а), последний 2022-07-30 18:53:26
карма: 5

0
Ответов: 172
Рейтинг: 4
#10: 2022-07-30 19:40:49 ЛС | профиль | цитата
Gunta писал(а):
Вот хорошая статья.

Спасибо большое.
карма: 0
HiAsm Studio
0
Ответов: 2019
Рейтинг: 129
#11: 2022-08-01 15:30:41 ЛС | профиль | цитата
envoy_sky, ну что ты ей богу либезишь?

Редактировалось 1 раз(а), последний 2022-08-01 15:30:55
карма: 5

0
Ответов: 172
Рейтинг: 4
#12: 2022-08-01 16:32:56 ЛС | профиль | цитата
flint2 писал(а):
ну что ты ей богу либезишь?

Нет.

Поблагодарил человека.
карма: 0
HiAsm Studio
0
12
Сообщение
...
Прикрепленные файлы
(файлы не залиты)