By the way, the proper test is *if* ssMiddle *in* Shift *then* . . . since Shift is a set of values, not an enumerated value, meaning it can contain more than one value. Press a mouse key and <shift> or <alt> to see what I mean. What is your view? Is this a bug that ought to be fixed, or is it not? My vote is: "If Shift in OnMouseWheelxxx events is supposed to return an empty set, remove the parameter from the handling procedures. If you say "keep it" then ensure the parameter does carry a value.
Wolf
On 28/07/16 00:56, Ondrej Pokorny wrote:
On 27.07.2016 14:36, Vojtěch Čihák wrote:Hi,IMO it is correct. OnMouseWheelxxx are events for rolling the mouse wheel, therefore the ssMiddle cannot be in Shift.If you need to detect if Middle button is pressed, use OnMouseDown/OnMouseUp and test "if Mouse=mbMiddle then ..."Also, ssMiddle appears in Shift in OnMouseDown/OnMouseUp.You are not correct. You can scroll the mouse wheel if it is released or pressed. So for me a valid feature request for the distinction. The OnMouseMove event gets valid Shift states as well.Btw. please use a mail client that supports "In-Reply-To" and "References" headers. Your answers are registered always as a new thread. See the recent discussion with Denis Kozlov on fpc-devel list, thread(s) "NowUTC in FPC".Ondrej
object Form1: TForm1
Left = 332
Height = 253
Top = 288
Width = 376
Caption = 'Mouse wheel test'
ClientHeight = 253
ClientWidth = 376
Icon.Data = {
EE3A00000000010003003030000001002000A825000036000000202000000100
2000A8100000DE25000010100000010020006804000086360000280000003000
0000600000000100200000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000003FFE0F003FFE46003FFE7B003FFEA3003F
FEBB003FFEC7003FFEC8003FFEBB003FFEA4003FFE7E003FFE4A003FFE110000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000F4AC9B09F4AC9B17F4AC9B26F4AC9B31F4AC
9B38DEA2A5395866DB5B003EFEAF003EFEF30041FEFF0042FEFF0044FEFF0045
FEFF0043FEFF0042FEFF003EFEFF003FFEFF003EFEFF003EFEFF003EFEF5003E
FEB3003EFE52003EFE0800000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000F4AC980EF4AC992BF4AC9946F4AC9954F4AC9957F4AC9957F0AA9B589582
C1851A51F3D90050FEFE0061FFFF0071FFFF007CFEFF0085FEFF0087FFFF0087
FFFF0086FFFF0080FEFF0076FEFF0068FFFF0057FFFF0049FEFF0040FEFF003E
FFFF003EFFFE003EFED8003EFE5A003EFE030000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000F4AC9511F4AC
963CF4AC9655F4AC9657F4AC9657F4AC9657F4AC9657D49FA4693F6AE4C90069
FEFD0083FEFF0094FEFF00A1FEFF00AAFEFF00AFFEFF00B3FEFF00B4FEFF00B4
FEFF00B3FEFF00B1FEFF00ACFEFF00A5FEFF009AFEFF008BFEFF0074FEFF0057
FEFF0043FEFF003EFEFF003EFEFE003EFEBB003EFE2300000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000F5AD9203F5AD922FF5AD9354F5AD
9357F5AD9357F5AD9357F5AD9357F4AC9357B199B184157AF5EE008EFFFF00A4
FFFF00B0FFFF00B9FFFF00BFFFFF00C4FFFF00C7FFFF00C9FFFF00CBFFFF00CB
FFFF00CAFFFF00C8FFFF00C5FFFF00C1FFFF00BCFFFF00B4FFFF00AAFFFF0097
FFFF007EFFFF005AFEFF0041FFFF003FFEFF003EFEEA003FFF50000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000F4AC8E06F4AC8F41F4AC9057F4AC9057F4AC
9057F4AC9057F4AC9057F4AC90579F9CB693098FFAFA00A5FEFF00B4FEFF00BF
FEFF00C7FEFF00CDFEFF00D2FFFF00D5FFFF00D7FEFF00D8FEFF00D9FFFF00D9
FFFF00D9FFFF00D7FFFF00D6FEFF00D3FFFF00CFFFFF00CAFFFF00C2FEFF00B9
FFFF00ACFFFF0098FEFF0076FEFF004BFEFF003FFEFF003EFEFA003EFE680000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000F3AC8A05F3AC8C44F3AC8C57F3AC8C57F3AC8C57F3AC
8C57F3AC8C57F3AC8C57A8A4AF8E099FFAFB00B2FEFF00BFFEFF00C9FEFF00D1
FEFF00D6FEFF00DAFEFF00DCFEFF00DEFEFF00E0FEFF00E1FEFF00E1FEFF00E1
FFFF00E1FEFF00E0FEFF00DFFEFF00DDFEFF00DBFEFF00D8FEFF00D3FEFF00CD
FEFF00C3FEFF00B8FEFF00A7FEFF008AFEFF005BFEFF003FFEFF003EFEFD003E
FE5D000000000000000000000000000000000000000000000000000000000000
000000000000F3AC8501F3AC8738F3AC8857F3AC8857F3AC8857F3AC8857F3AC
8857F3AC8857C5A99E7B13A8F5F700B9FEFF00C6FEFF00D0FEFF00D7FEFF00DB
FEFF00DFFEFF00E1FEFF00E3FEFF00E5FEFF00E6FEFF01E6FEFF01E7FEFF02E7
FEFF01E7FEFF00E6FEFF00E5FEFF00E4FEFF00E2FEFF00E0FEFF00DDFEFF00D9
FFFF00D3FFFF00CAFEFF00BFFEFF00AFFEFF0094FEFF0067FEFF0042FEFF003E
FEF8003EFE3D0000000000000000000000000000000000000000000000000000
000000000000F3AC831BF3AC8356F3AC8357F3AC8357F3AC8357F3AC8357F3AC
8357E8AC896038ADE2E700BDFEFF00CAFEFF00D4FEFF00DAFEFF00DFFEFF00E2
FEFF00E5FEFF01E6FEFF06E8FEFF0FE9FEFF17EAFEFF1CEBFEFF20EBFEFF20EB
FEFF1EEBFEFF19EAFEFF12EAFEFF0AE8FEFF03E7FEFF00E5FEFF00E3FEFF00E0
FEFF00DCFEFF00D7FEFF00CFFEFF00C2FEFF00B3FEFF0098FEFF006AFEFF0040
FEFF003EFEDE003EFE1500000000000000000000000000000000000000000000
0000F3AC7D01F3AC7E45F3AC7F57F3AC7F57F3AC7F57F3AC7F57F3AC7F57F3AC
7F5789AFB6B102BEFDFF00CCFEFF00D6FEFF00DCFEFF00E1FEFF08C5FBFF10A4
F8FF0DDDFDFF1BEAFEFF22C0FAFF25A8F8FF29AAF8FF2DB1F9FF2FB2F9FF37CB
FBFF2CA8F8FF2EBBFAFF29B3F9FF28C9FBFF1CAAF8FF13CBFCFF10A5F8FF10A4
F8FF07C7FCFF09BAFBFF109DF8FF01CCFEFF00C4FEFF00B4FEFF0097FEFF0060
FEFF0040FEFF003EFE9700000000000000000000000000000000000000000000
0000F3AC7912F3AC7A56F3AC7A57F3AC7A57F3AC7A57F3AC7A57F3AC7A57D6AE
8A7029BBE8F900CCFEFF00D7FEFF00DDFEFF00E2FEFF00E5FEFF12A8F8FF2063
F1FF2BD4FCFF3AEDFEFF2C96F6FF2166F2FF308AF5FF2D83F4FF246CF2FF2D85
F4FF2268F2FF3394F6FF287AF4FF2B89F5FF226AF2FF2BAFF9FF2163F1FF1F7D
F4FF0BBEFBFF1399F7FF2063F1FF02D1FEFF00D1FEFF00C4FEFF00B2FEFF008F
FEFF0055FEFF003EFEF8003EFE32000000000000000000000000000000000000
0000F3AC7529F3AC7557F3AC7557F3AC7557F3AC7557F3AC7557F3AD755789B4
B1BC0CC9F8FF00D6FEFF00DDFEFF00E3FEFF00E6FEFF0DE9FEFF20AAF8FF2063
F1FF3DCBFBFF52EEFEFF3597F6FF246BF2FF63E6FDFF3F9DF7FF2367F2FF2972
F3FF2770F3FF41A2F7FF2771F3FF2368F2FF236AF2FF39B0F9FF2164F1FF27C2
FAFF17E9FEFF169BF7FF2063F1FF02D6FEFF00D9FEFF00D0FEFF00C1FEFF00AC
FEFF0080FEFF0046FEFF003EFEA7000000000000000000000000000000000000
0000F2AC7039F2AC7057F2AC7057F2AC7057F2AC7057F2AC7057E2AE7A6450BE
CFF400D4FEFF00DCFEFF00E2FEFF00E6FEFF0FE9FEFF2AECFEFF2DABF8FF2063
F1FF2063F1FF3185F5FF3B96F6FF256BF2FF72E8FDFF51B1F8FF2469F2FF3887
F5FF3583F4FF4AA5F7FF2163F1FF2164F1FF246AF2FF44B1F9FF2163F1FF2269
F2FF2CC7FBFF229CF7FF2063F1FF02DAFEFF00DFFEFF00D8FEFF00CDFEFF00BC
FEFF00A1FEFF0069FEFF003FFEF7003EFE1A0000000000000000000000000000
0000F2AC6B41F2AC6B57F2AC6B57F2AC6B57F2AC6B57F2AC6B57B0B393943FC7
D7FF00DAFEFF00E1FEFF00E5FEFF0DE9FEFF2AECFEFF40EEFEFF38ACF8FF2063
F1FF3B96F6FF256CF2FF3F94F6FF266BF2FF7EE9FDFF66C5FAFF2163F2FF296F
F3FF489AF6FF50A6F7FF2163F2FF2E77F3FF246AF2FF4DB2F9FF2163F1FF40B2
F9FF45E6FEFF2B9DF7FF2063F1FF04DDFEFF00E3FEFF00DDFEFF00D5FEFF00C7
FEFF00B3FEFF008DFEFF004EFEFF003EFE6B0000000000000000000000000000
0000F2AC6642F2AC6557F2AC6557F2AC6557F2AC6557F2AC655783BBACC43DCC
D7FF00DFFEFF00E4FEFF07E8FEFF24EBFEFF3DEEFEFF52EFFEFF41ADF8FF2063
F1FF2D78F3FF2A71F3FF4395F6FF276BF2FF87E9FDFF7CD8FCFF2164F2FF2063
F2FF5CB0F8FF54A6F7FF2164F2FF52A7F8FF256AF2FF54B2F9FF2163F1FF2F83
F4FF369CF7FF2576F3FF2063F1FF198FF6FF01E1FEFF00E1FEFF00DAFEFF00D0
FEFF00BEFEFF00A3FEFF006BFEFF003EFEB20000000000000000000000000000
0000F2AC603BF2AC6057F2AC6057F2AC6057F2AC6057F0AD625863C2BDE844CE
D1FF00E2FEFF01E7FEFF1AEAFEFF36EDFEFF4EEFFEFF61F1FEFF5ACCFBFF4AA4
F7FF4FA6F7FF71D0FBFF6AC2FAFF59A9F8FF94EFFEFF94EEFEFF59A6F7FF59A5
F7FF83D9FCFF76CAFBFF5DADF8FF7BD7FCFF55A8F8FF6ED0FBFF4CA4F7FF47A4
F7FF46ADF8FF3AA2F7FF31A2F7FF25A4F8FF08E4FEFF00E4FEFF00DEFEFF00D6
FEFF00C7FEFF00B2FEFF0089FEFF0048FEE8003EFE0400000000000000000000
0000F2AC5B2EF2AC5B57F2AC5B57F2AC5A57CD9D428FBB9B43A874AA79FA6EAE
7DFF32B28DFF33B38CFF45B58CFF54B78CFF60B88CFF69B98CFF71B98CFF77BA
8CFF7BBA8CFF7FBA8CFF83BB8CFF85BB8DFF99E8E2FFA2F6FEFFA3F6FEFFA3F6
FEFFA2F6FEFFA1F6FEFF9EF6FEFF9AF6FEFF95F5FEFF7BDAFCFF59B4F9FF77EB
FEFF6ECAAEFF64B88CFF59B78CFF4BB68CFF3AB48CFF2FB28CFF2FAF8CFF2FAB
8CFF2FA48CFF2F9A8CFF2F888CFF2F628CFF5367357B69720072697200330000
0000F1AC551AF1AC5557F1AC5557F1AC5557D3A0428698871CFD97861CFF9786
1CFF777808FF697200FF697200FF697200FF697200FF697200FF697200FF6972
00FF697200FF6A7200FF697200FF6A7200FF7C9A4CFFA7F6FDFFA9F7FEFFA9F7
FEFFA8F7FEFFA6F7FEFFA4F6FEFFA0F6FEFF98F2FEFF3982F4FF2163F1FF479D
F7FF76CEB7FF6A7403FF697200FF697200FF697200FF697200FF697200FF6972
00FF697200FF697200FF697200FF697200FF697200FF697200FF697200D96972
000DF1AC5105F1AC5052F1AC5057F1AC5057F1AC5057B7942EBA97861AFF9786
1AFF888012FF6A7300FF697200FF697200FF697200FF697200FF697200FF6972
00FF697200FF697300FF697300FF697300FF6A7301FF94C7A1FFADF7FFFFADF7
FFFFACF7FFFFABF7FFFFA8F7FEFFA5F6FFFF6CBAF9FF2164F2FF2163F1FF2265
F2FF63C9FAFF6FA059FF697200FF697200FF697200FF697200FF697200FF6972
00FF697200FF697200FF697200FF697200FF697200FF697200FF697200FF6972
008900000000F1AC4A36F1AC4A57F1AC4A57F1AC4A57CAB0607C8C9133FF9786
18FF978618FF727604FF697403FF68923FFF6C9544FF709644FF739644FF7596
44FF779644FF799644FF7A9644FF7B9644FF7C9644FF82A057FFAFF4F8FFB1F7
FEFFB1F7FEFFAFF7FEFFACF7FEFF9CE9FDFF2C70F3FF2063F2FF2163F2FF2265
F2FF6BCFFBFF78E6E4FF6A7C12FF697200FF697200FF667709FF1CC7BAFF12CE
D3FF16C4C9FF16B9C9FF16A8C9FF168AC9FF316E877369720042697200426972
003E00000000F1AC4511F1AC4555F1AC4557F1AC4557D3B25B7362BD96FE9688
1BFF978617FF8B8110FF6A7300FF69B483FF76F3FEFF84F4FEFF8EF5FEFF97F5
FEFF9EF6FEFFA4F6FEFF80CAFBFF7FC7FAFF87CDFBFF8ACEFBFFA1E5FDFFB4F8
FEFFB4F8FEFFB2F8FEFFAFF8FEFF5AA0F7FF2063F2FF2163F1FF2163F1FF4A99
F6FF88F4FEFF7CF3FEFF6DBD94FF697300FF697200FF697200FF459A56FF00E2
FEFF00DAFEFF00CEFEFF00BAFEFF0096FEFF0072FE3800000000000000000000
00000000000000000000F1AD3F37F1AD3F57F1AD3F57DBB1506854CEBAF876AA
64FF988714FF978614FF7E7B09FF6A7708FF76D5C3FF86F4FEFF90F5FEFF99F6
FEFFA0F6FEFFA6F7FFFF6BB4F9FF2164F2FF2164F2FF2164F2FF3174F3FFA8E9
FDFFB6F8FFFFB4F8FFFF93D9FCFF2467F2FF2164F2FF2164F2FF296EF2FF89E7
FDFF8AF4FFFF7FF3FEFF70F0FBFF688D36FF697200FF697200FF697301FF1EC1
B4FF00DCFEFF00D0FEFF00BCFEFF009CFEFF007AFE1D00000000000000000000
00000000000000000000F1AD3B0AF1AD3A50F1AD3A57EBAE3E5A5FCCAFEC53D0
B4FF8C9533FF988713FF968612FF767805FF6C8523FF85ECEFFF92F5FEFF9AF6
FFFFA1F6FEFFA7F7FFFFA9F5FEFF4A8FF5FF2164F2FF2164F2FF2164F2FF4E90
F5FFB4F6FEFFB3F7FEFF4487F5FF2164F2FF2164F2FF2164F2FF67B8F9FF95F5
FFFF8BF4FFFF80F3FEFF71F2FEFF63D6C8FF697606FF697200FF697200FF5A82
24FF05D6F1FF00D0FEFF00BDFEFF009CFEF00083FE0500000000000000000000
0000000000000000000000000000F1AD351EF1AD3456F1AD34577BC696CB51D3
B9FF6BC698FF968917FF978712FF948510FF737703FF75A25DFF91F4FCFF9AF6
FFFFA1F6FEFFA7F7FFFFACF7FFFFA0E8FDFF3074F3FF2164F2FF2164F2FF2164
F2FF72B5F9FF80C3FAFF2164F2FF2164F2FF2164F2FF3B82F4FF9AF3FEFF95F5
FFFF8BF4FFFF7FF3FEFF70F2FEFF5EF1FEFF5DA86CFF697200FF697200FF6972
00FF38A377FF00D0FEFF00BDFEFF009FFEBE0087FE0100000000000000000000
000000000000000000000000000000000000F1AD2F31F1AD2F57A6BD6E9D51D3
B7FF5FD6B7FF84B066FF978710FF988610FF94850FFF747704FF83C5A1FF99F5
FEFFA0F6FEFFA6F7FFFFAAF7FFFFAEF8FFFF88CEFBFF2265F2FF2164F2FF2164
F2FF2568F2FF2C6FF2FF2164F2FF2164F2FF2367F2FF83D4FBFF9CF6FFFF94F5
FFFF8AF4FFFF7EF3FEFF6FF2FEFF5CF0FEFF47E5EBFF63811DFF697200FF6972
00FF667608FF14BCCEFF00BBFEFF00A4FE790000000000000000000000000000
000000000000000000000000000000000000F1AD2C02F1AD2A3CD8B23E6A54D1
B2F95CD5B5FF74D5B1FF929935FF97870EFF97870EFF95850DFF7B8114FF90E1
D7FF9DF6FEFFA3F7FFFFA8F7FFFFACF8FFFFAFF7FEFF64A9F8FF2164F2FF2164
F2FF2164F2FF2164F2FF2164F2FF2164F2FF559FF7FF97DFD1FF8ED7C3FF88D7
C3FF80D6C3FF77D5C3FF6BD4C3FF5DD3C3FF49D1C3FF4CA972FF697200FF6972
00FF697200FF50873CFF02B7FAFB00A5FE260000000000000000000000000000
00000000000000000000000000000000000000000000F0AD2604EFAD253C7DC7
8BC857D4B4FF6ED7B4FF83CB98FF968B16FF97870DFF97870DFF96860CFF8B99
3EFF9AF1F5FFA0F6FFFFA5F7FFFFA9F7FFFFACF8FFFFABF4FEFF4084F4FF2164
F2FF2164F2FF2164F2FF2164F2FF2D72F3FF96E9FDFF8ECFB2FF6A7504FF6A73
00FF6A7300FF697200FF697200FF697200FF697200FF697200FF697200FF6972
00FF697200FF697300FF339383C3000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000F0AD2103B5BA
555C53D3B1FD67D6B2FF7AD8B2FF8EB66BFF968910FF978910FF978910FF9789
10FF9EB770FFA0F2F4FFA1F6FFFFA5F7FFFFA8F7FFFFAAF7FFFF97E2FDFF2B6E
F2FF2164F2FF2164F2FF2164F2FF70BEF9FF9EF6FFFF98F5FEFF7EB683FF6A73
00FF6A7300FF697200FF697200FF697200FF697200FF697200FF697200FF6972
00FF697200FF697200FF697300EC6972001B0000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000091C2
740237D8C9A65CD6B2FF73D7B0FF84D8AFFF91D2A1FF9BD3A1FFA3D4A1FFA9D5
A1FFAED6A4FFB2DEB6FFA7ECDEFFA0F6FDFFA3F7FFFFA5F7FFFFA6F7FFFF90DE
FCFF7CC9FBFF77C5FAFF74C3FAFF9BF3FEFF99F6FFFF92F5FFFF8AF3FBFF79C7
A7FF70C3A0FF67C2A0FF5CC1A0FF4CC0A0FF3ABEA0FF28BCA0FF27B9A0FF27B5
A0FF27AEA0FF2F9E8CBC6972005E6972002A0000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000E5FE1A1DE2E6EB62D8B7FF7BD8AFFF8AD9AFFF95DAAFFF9EDBAFFFA6DB
AFFFABDCAFFFB0DDAFFFB4DDAFFFAFE3C3FFA2F1F0FF9FF6FEFFA0F6FFFFA0F6
FFFF9FF6FFFF9EF6FFFF9BF6FFFF97F5FFFF92F5FFFF8BF4FFFF83F4FFFF79F3
FFFF6CF2FFFF5DF0FEFF49EFFEFF30ECFEFF10E9FEFF00E5FEFF00E0FEFF00D8
FEFF00CBFEEF00C0FE2500000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000E7FE5318E7F6FB5ADEC8FF80D8AEFF8DD9ADFF97DAADFF9FDB
ADFFA5DBADFFAADCADFFAEDCADFFB1DDADFFB3DDB0FFA9E7D0FF9BF4F8FF99F5
FEFF98F5FFFF96F5FFFF93F5FFFF8FF5FFFF89F4FFFF83F4FFFF7AF3FFFF6EF2
FFFF61F1FFFF50EFFEFF39EDFEFF1DEBFEFF03E7FEFF00E3FEFF00DDFEFF00D3
FEFE00C9FE5F0000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000003E8FF7B1AEAFEFE47E6E5FF7BDBB6FF8ED9ACFF97DA
ACFF9DDBACFFA3DBACFFA8DCACFFABDCACFFADDCACFFAFDDACFFADDEB2FFA0E9
D7FF91F3F9FF8CF5FFFF89F4FFFF85F4FFFF7FF3FFFF77F3FFFF6DF2FFFF62F1
FFFF52EFFFFF3EEEFEFF26ECFEFF09E8FEFF00E5FEFF00E0FEFF00D8FEFF2FC8
CF8BC2B13B030000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000E7FE0208E8FE811EEBFEFD39ECFBFF62E4D8FF87DB
B2FF94DAABFF9ADBABFF9FDBABFFA3DBABFFA5DBABFFA7DCABFFA8DCABFFA8DC
ABFFA5DEB1FF95E7D3FF83F0F4FF79F3FFFF72F2FFFF69F1FFFF5EF0FFFF50EF
FFFF3EEEFFFF29ECFEFF0EE9FEFF00E6FEFF00E1FEFF00DBFEFE00D3FE8FC7B2
331BEFAC0C030000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000001E8FE020AE9FE6A1DEBFEF833EDFEFF48ED
F9FF6AE5D7FF89DCB4FF94DAA9FF99DAA9FF9CDBA9FF9EDBA9FF9FDBA9FF9FDB
A9FF9EDBA9FF9DDBA9FF99DBACFF88E2C4FF72E9E2FF5BEEF8FF4BEFFFFF3AED
FFFF27ECFFFF0EE9FEFF00E6FEFF00E2FEFF00DDFEF908D6F676C1B43612EEAC
081F000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000BE9FE3E18EAFED82BEC
FEFF3BEDFEFF4AEEFBFF63E8E1FF7DE0C1FF8EDBACFF92DAA8FF94DAA8FF94DA
A8FF93DAA8FF91DAA8FF8ED9A8FF8AD9A8FF84D8A8FF79D9ADFF63DDBEFF45E0
D2FF26E2E0FF13E1EAFF0EDFEFFF22D7DAE67FC17966E9AD0A32EEAC061FEEAC
0601000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000008E9FE0E11EA
FE801EEBFEEC2DECFFFF38EDFFFF41EEFEFF4EECF5FF60E6DEFF72E0C5FF7FDB
B1FF83D9A9FF82D8A7FF7ED8A7FF79D8A7FF72D7A7FF69D6A7FF5DD5A7FF53D4
A7FF51D2A7FF57CEA0F592C063AEDEB01350EEAC0225EEAC0307000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000BE9FE1512EAFF7819EAFFD623EBFFFD2BECFFFF2FECFFFF33EDFFFF34EC
FDFF39E9F3FF3EE6E6FF42E2D9FF41E0D1FF3BDDCBFF33DCCAFF2EDACCFD2CD9
CEDA3DD4BC80B7B83A29EEAC0009000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000007E9FF020AE9FF2F0DE9FF6F0FE9FFA60EE9FFCC0EE9
FFEA0CE9FFF609E9FFF705E8FFEB01E7FFCE00E6FFA800E4FF7300E3FF3300E2
FF02000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000FFFFFFFFFFFFF204FFFFFFFFFFFFF204FFFFFFFFFFFFF204FFFFFFFFFFFF
F204FFFFFFFFFFFFF204FFFFE001FFFFF204FFE000003FFFF204FF0000000FFF
F204FC00000007FFF204F000000003FFF204E000000001FFF204C000000000FF
F20480000000007FF20480000000003FF20400000000003FF20400000000001F
F20400000000001FF20400000000000FF20400000000000FF20400000000000F
F204000000000007F204000000000001F204000000000000F204000000000000
F204800000000000F204800000000007F204C00000000007F204C00000000007
F204E00000000007F204F0000000000FF204F0000000000FF204F8000000001F
F204FC000000000FF204FE000000000FF204FF000000003FF204FF800000007F
F204FFC00000007FF204FFC00000007FF204FFE0000000FFF204FFF8000000FF
F204FFFC000003FFF204FFFF00001FFFF204FFFFC000FFFFF204FFFFFFFFFFFF
F204FFFFFFFFFFFFF204FFFFFFFFFFFFF204FFFFFFFFFFFFF204FFFFFFFFFFFF
F204280000002000000040000000010020000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000003FFE03003F
FE22003FFE5B003FFE77003FFE85003FFE80003FFE65003FFE3D003FFE080000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000000000000F4AC
9803F4AC9911F4AC991EF4AC9A30F3AB9A3BC196AF5B5B6CD986004BFED90052
FEFC0059FEFF005AFEFF0058FEFF0052FEFF004AFEFF0043FEFF003EFEEA003E
FEA1003EFE3E003EFE0B00000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000F4AC9515F4AC
9636F4AC974BF4AC9754ECA99A5B9B8BBD8E2471EFDF0279FCFB008FFEFF009B
FEFF00A4FEFF00A5FEFF00A2FEFF009CFEFF008CFEFF0079FEFF005CFEFF0045
FEFF003EFEE4003EFE96003EFE10000000000000000000000000000000000000
000000000000000000000000000000000000F4AC8F09F4AC9130F4AC9256F4AC
9257F4AC9257E1A89A645591D8C30494FCFB00B0FEFF00BDFEFF00C6FFFF00CB
FEFF00CEFEFF00CFFFFF00CEFFFF00CBFEFF00C5FFFF00BDFFFF00ACFEFF0094
FFFF0065FEFF0048FEFF003EFECE003EFE450000000000000000000000000000
0000000000000000000000000000F3AC8A02F3AC8C3AF3AC8D55F3AC8D57F3AC
8D57E2AA956367A0CEB902ABFDFE00BEFEFF00CDFEFF00D4FEFF00D9FEFF00DC
FEFF00DEFEFF00DEFEFF00DDFEFF00DCFEFF00D8FEFF00D4FEFF00CBFEFF00BF
FEFF00A5FEFF0080FEFF004BFEFE003EFEDC003EFE2900000000000000000000
00000000000000000000F3AC8403F3AC852FF3AC8657F3AC8657F3AC8657F0AC
875968ABCBBD04B9FCFD00CDFEFF00D7FEFF00DEFEFF00E2FEFF03E5FEFF06E7
FEFF0AE7FEFF0BE8FEFF09E8FEFF06E6FEFF02E4FEFF00E2FEFF00DDFEFF00D7
FEFF00CBFEFF00BAFEFF0091FEFF005CFEFF003EFECD003EFE2B000000000000
00000000000000000000F3AC7E13F3AC804CF3AC8057F3AC8057F3AC8057C1AD
9A810DBDF7FA00CEFEFF00DBFEFF03D3FCFF0AC5FBFF0FE5FDFF1AC8FAFF21BE
FAFF28C4FAFF2DD0FBFF27C2FAFF23C7FAFF1ACCFBFF0FCCFBFF0AB9FAFF06C6
FBFF07BCFBFF04BFFCFF00B7FEFF0093FEFF004EFEFB003EFE99000000000000
00000000000000000000F3AC772EF3AC7857F3AC7857F3AC7857E0AD826853BA
D0D500D2FEFF00DDFEFF01E4FEFF10BDFAFF2587F4FF3CE3FDFF2A86F4FF3693
F5FF2D80F4FF2977F3FF2A7AF3FF2D82F4FF2677F3FF2B98F6FF2173F2FF15B9
FAFF1887F5FF0CADF9FF00CFFEFF00BCFEFF0086FEFF004CFEFC003EFE3B0000
00000000000000000000F2AC713FF2AC7157F2AC7157F2AC7157BBB2918B23C9
E9F500DCFEFF00E3FEFF11E9FEFF25C0FAFF236EF2FF359CF6FF3287F4FF54BD
F9FF3D94F5FF2D78F3FF3789F4FF2F7BF3FF2266F1FF3699F6FF216FF2FF24B9
F9FF1E88F4FF0CB1F9FF00DAFEFF00CDFEFF00ABFEFF0070FEFF003EFE99003E
FE060000000000000000F1AC6949F2AC6957F1AC6957F2AC695780BCAFC214D5
F1FF00E3FEFF0EE8FEFF37EDFEFF3EC2FAFF2770F2FF2B77F3FF3786F4FF62BF
F9FF53A8F7FF2468F2FF4FA2F6FF3179F3FF327DF3FF419AF6FF2978F3FF3EBF
FAFF2681F4FF12A3F7FF00E1FEFF00D9FEFF00C3FEFF009FFEFF004FFED6003E
FE2C0000000000000000F1AC6146F1AC6157F1AC6157F1AC62575FC4C0E815DA
EFFF07E7FEFF26EBFEFF4EEFFEFF55D1FBFF3E91F5FF52A7F7FF56A8F7FF77CF
FBFF74C9FAFF468FF5FF72C6FAFF54A2F7FF5FB5F9FF5AB5F8FF3E91F5FF40A2
F7FF3091F5FF2497F6FF03E3FEFF00DEFEFF00CEFEFF00B4FEFF006BFEF10040
FE490000000000000000F1AC5937F1AC5957E6A75069B9973AB27E9E5AFD599F
5FFF499D5DFF579F5DFF65A05DFF6CA15DFF73A25DFF77A25DFF7AA25DFF88BF
94FFA4F6FDFFA5F6FEFFA3F6FEFFA0F6FEFF9AF5FEFF75CFFAFF51ABF8FF6DCD
C9FF63A05EFF589F5DFF479D5DFF429B5DFF42965DFF428E5DFF42785DFF5269
36C46972008F69720026F1AC5224F1AC5156EDAA4F5CC09733AD97861AFF8980
12FF697200FF697200FF697200FF697200FF697200FF697200FF697200FF6D7B
11FFA0E1D4FFABF7FEFFAAF7FEFFA7F6FEFF95E8FDFF448DF5FF2569F1FF55AF
E9FF6B8628FF697200FF697200FF697200FF697200FF697200FF697200FF6972
00FF697200FB69720091F1AC470EF1AC4847F1AC4857D9AF576E869740FF9686
18FF747706FF688F39FF71B482FF7AB582FF81B582FF86B682FF7CA780FF7EA7
80FF91C4B1FFAFF4FCFFB1F7FEFFAEF7FEFF66AFF8FF2265F2FF2569F2FF5DB9
F9FF74CCB2FF697C14FF687302FF3EA167FF0CD1DFFF0EC3DAFF0EA3DAFF1A79
BD956972002C6972002AF1AC4502F1AC412DF1AC4157E0AF4D6565BA8DFC908E
27FF89800EFF6E8522FF7BE6E3FF8CF4FEFF9AF5FEFFA3F6FEFF61A9F7FF4286
F4FF4A8DF5FF8FD1FBFFB4F8FEFFA4EAFDFF2E72F3FF2063F1FF408BF4FF82E7
FDFF79ECF1FF6AA260FF697200FF617B13FF0DD1DDFF00D3FEFF00B0FEFF0082
FE6E000000000000000000000000F1AD3B04F1AD3847EEAD395861CCABEB71B3
75FF978713FF877F0BFF749C4FFF8BE9E8FF9CF6FEFFA5F6FEFF93DDFCFF3B7F
F4FF2164F1FF3577F3FF9FE2FCFF5B9EF6FF2164F1FF266AF2FF81D9FCFF8EF4
FFFF7AF2FEFF66E5E6FF667F1AFF697200FF469452FF07CCECFF00B2FEF4008C
FE4D00000000000000000000000000000000F1AD321BF1AD304E80C68FC85DD1
B0FF8E9938FF968610FF828212FF81BA8AFF9BF5FEFFA4F6FEFFAAF5FEFF7FC6
FAFF2164F1FF2164F1FF4184F4FF2E71F2FF2164F1FF529DF6FF99F5FEFF8DF4
FFFF79F2FEFF62F0FEFF55B486FF677506FF62780FFF25AEA3FF00B3FEDA0097
FE300000000000000000000000000000000000000000F0AD291CB5BA5A8A5CD2
AFF87BC793FF939327FF96860DFF89830FFF92D7C1FFA0F5FDFFA8F7FFFFADF7
FEFF60A6F7FF2467F2FF2164F1FF2164F2FF3C83F4FF86CED7FF80B682FF7AB5
82FF6FB382FF64B282FF54A870FF627E19FF697200FF5D7B1AFF0EA9DCA300A5
FE080000000000000000000000000000000000000000F0AD2601D5B239396ECC
99D46FD5AFFF8AB66CFF96880FFF96880EFF96A249FF9EE5D9FFA3F6FFFFA8F7
FFFF9AE4FDFF4388F4FF2164F1FF2164F1FF6FBEF9FF96EBEDFF72913BFF6A73
00FF697200FF697200FF697200FF697200FF697200FF697200FF5B7A219A6972
00060000000000000000000000000000000000000000000000000000000040D5
C05053D9BDFB7AD7B0FF92D4A5FF9ED6A5FFA9D7A6FFAFDBAFFFA9E9D7FFA3F3
F4FFA3F6FEFF9AEBFDFF86D7FCFF82D4FBFF98F4FEFF92F5FFFF82E9E9FF72D3
C1FF5FD1BFFF49CFBFFF26CBBFFF1AC7BFFF1ABDBFFD1DAEB6AF697200336972
00090000000000000000000000000000000000000000000000000000000000E5
FE0616E4EFAD53DECAFE87D8AEFF96DAADFFA3DBADFFAADCADFFB0DDAFFFAEE2
BFFFA2EEE8FF9BF5FDFF99F5FFFF96F5FFFF8FF4FFFF87F4FFFF79F3FFFF69F1
FFFF4DEEFEFF2CECFEFF04E6FEFF00DFFEFF00D1FED900C5FE38000000000000
0000000000000000000000000000000000000000000000000000000000000000
000001E7FE1C0EE8FEA947E5E2FF76DEC0FF94DAADFF9EDAABFFA6DBABFFA9DB
ABFFACDCADFFA5E2C0FF94EDE6FF89F1F7FF7EF3FFFF75F2FFFF64F1FFFF50EF
FFFF2EECFEFF0EE8FEFF00E1FEFF00D9FEE686BA7545D5AE2501000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000002E7FE1E17EAFDBB39EAF5FD66E5D9FF87DDB8FF99DAA9FF9EDA
A9FFA1DBA9FFA2DBA9FF9EDDAFFF94E1BFFF7DE9DEFF65EEF5FF4BEEFFFF34ED
FFFF10E9FEFF01E4FEFF01DCFCDE57C6A35EE2AD151400000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000BE8FE0E10E9FE7127EBFEE13BEDFCFD5BE8E3FF73E2
CAFF83DDB7FF8BDAADFF8DD9A8FF89D8A7FF82D8A7FF77D7A9FF59DABAFF3BDC
C9FF2FD8CBF453CDA5C4BBB53841ECAC061A0000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000008E8FE0312E9FE3B17EAFE8D26EBFEEC33EC
FCFF42E9F1FF4BE7E6FF52E2D7FF55DFCBFF51DCC1FF47DABEFF3CD8C0F640D4
B9BEA9BB485ED0B22027EEAC0209EEAC03010000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000000000000000000008E8FF0B0BE9
FF3C0EE8FF770EE9FF950AE8FFA406E8FF9F00E6FF8100E4FF5800E2FF170000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
00000000000000000000FFFFFFFFFFFFFFFFFFFFFFFFFFF007FFF80000FFF000
007FC000003F8000001F0000000F0000000F0000000700000003000000030000
00030000000000000000000000000000000380000003C0000003E0000003E000
0003F8000003F800000FFC00000FFE00001FFF00003FFF80003FFFF007FFFFFF
FFFFFFFFFFFFFFFFFFFF28000000100000002000000001002000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000AEBB009D6A7300FF6B7300FF6B73
00FF6B7300FF6A7300FF6B7300FF6B7300FF8A9400C6EBFF0004000000000000
0000236BFF18236BFFF0236BFFCF236BFF06ECFF000E7A8500DF6B7400FF6B74
00FF6B7400FF6B7400FF6B7400FF6B7400FF6B7400FFE0F3007A000000000000
0000226AFF9E2165F2FF2165F2FF226AFF8100000000ECFF00406C7500FC6B74
00FF6B7400FF6B7400FF6B7400FF6B7400FF6B7400FF6E7700F8ECFF0031226A
FF362166F4FD2165F2FF2165F2FF226AFFAD0000000000000000B2FFEA517AC9
FF847BCAFF7D9AEAFD76B2FFE661ECFF003DECFF003DECFF003DCFFF6F26226A
FFC62165F2FF2165F2FF2269FCF5226AFF210000000000000000226AFF12226A
FFE12165F2FF2165F2FF2269FDF4226AFF2A0000000000000000226AFF5E2165
F2FF2165F2FF2165F2FF226AFF7D00000000000000000000000000000000226A
FF3E2166F5FC2165F2FF2165F2FF226AFFD0226AFF08226AFF0E226AFFE52165
F2FF2165F2FF226AFFDA226AFF08000000000000000000000000000000000000
0000226AFF822265F2FF2165F2FF2265F2FF226AFF91236AFF892165F2FF2265
F2FF2165F2FF236AFF4A00000000000000000000000000000000000000000000
0000236BFF04236BFFC42165F1FF2165F1FF2165F2FE2167F6FA2165F1FF2165
F1FF236BFFAF0000000000000000000000000000000000000000000000000000
000000000000236BFF21236BFFEF2165F1FF2165F1FF2165F1FF2165F1FF2269
FBF5236BFF200000000000000000000000000000000000000000000000000000
00000000000000000000236BFF582165F1FF2165F1FF2165F1FF2165F1FF236B
FF7C000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000236BFF8C236BFFCD236BFFD6236BFFC5236B
FF08000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000000000000000000000000000000000000000
000000000000000000000000000000000000FFFFAC41FFFFAC41FFFFAC410030
AC410030AC418000AC41C000AC41C0C1AC41E001AC41F003AC41F007AC41F807
AC41FC0FAC41FE0FAC41FFFFAC41FFFFAC41
}
OnMouseDown = FormMouseDown
OnMouseUp = FormMouseUp
OnMouseWheel = FormMouseWheel
OnMouseWheelDown = FormMouseWheelDown
OnMouseWheelUp = FormMouseWheelUp
LCLVersion = '1.6.0.4'
object Label1: TLabel
Left = 16
Height = 18
Top = 16
Width = 277
Caption = 'Scroll your mouse wheel to change the value.'
ParentColor = False
end
object lblDirection: TLabel
Left = 16
Height = 23
Top = 48
Width = 73
Caption = 'Direction'
Font.Height = -17
ParentColor = False
ParentFont = False
end
object lblAmount: TLabel
Left = 168
Height = 28
Top = 72
Width = 12
Caption = '0'
Font.Height = -21
ParentColor = False
ParentFont = False
end
object Label2: TLabel
Left = 16
Height = 28
Top = 72
Width = 145
Caption = 'Scroll Amount:'
Font.Height = -21
ParentColor = False
ParentFont = False
end
object Label3: TLabel
Left = 32
Height = 18
Top = 112
Width = 102
Caption = 'Contents of Shift'
ParentColor = False
end
object Label4: TLabel
Left = 232
Height = 18
Top = 136
Width = 42
Caption = 'Label4'
ParentColor = False
end
object Memo1: TMemo
Left = 24
Height = 96
Top = 136
Width = 156
Lines.Strings = (
'Memo1'
)
TabOrder = 0
end
object Label5: TLabel
Left = 233
Height = 18
Top = 112
Width = 105
Caption = 'MouseUp/Down?'
ParentColor = False
end
end
unit frm1; // source: http://lazplanet.blogspot.co.nz/2013/06/how-to-capture-mouse-wheel-scroll.html {$mode objfpc}{$H+} interface uses Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls, ExtCtrls, types, typinfo; type { TForm1 } TForm1 = class(TForm) Label1: TLabel; Label2: TLabel; Label3: TLabel; Label4: TLabel; Label5: TLabel; lblAmount: TLabel; lblDirection: TLabel; Memo1: TMemo; procedure FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure FormMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure FormMouseWheel(Sender: TObject; Shift: TShiftState; WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean); procedure FormMouseWheelDown(Sender: TObject; Shift: TShiftState; MousePos: TPoint; var Handled: Boolean); procedure FormMouseWheelUp(Sender: TObject; Shift: TShiftState; MousePos: TPoint; var Handled: Boolean); private { private declarations } public { public declarations } end; var Form1: TForm1; MouseWheelPressed: boolean=false; ScrollAmount: Integer; implementation {$R *.lfm} { TForm1 } { note: MouseWheelDown together with MouseWheelUp achieve the same result as does MouseWheel on its own. Remove the one or the other before running the program} procedure TForm1.FormMouseWheelDown(Sender: TObject; Shift: TShiftState; MousePos: TPoint; var Handled: Boolean); var infs: PTypeInfo; ShiftList: string; // http://www.lazarusforum.de/viewtopic.php?f=18&t=8623 begin lblDirection.Caption:='Scrolling down'; ScrollAmount:=ScrollAmount-1; lblAmount.Caption:=inttostr(ScrollAmount); infs:=TypeInfo(Shift); ShiftList:=SetToString(infs,longint(Shift),true); Memo1.Caption:= ShiftList; if MouseWheelPressed then Label4.Caption:='MouseWheelPressed' else Label4.Caption:='MouseWheelUp'; end; procedure TForm1.FormMouseWheelUp(Sender: TObject; Shift: TShiftState; MousePos: TPoint; var Handled: Boolean); var infs: PTypeInfo; ShiftList: string; // http://www.lazarusforum.de/viewtopic.php?f=18&t=8623 begin lblDirection.Caption:='Scrolling up'; ScrollAmount:=ScrollAmount+1; lblAmount.Caption:=inttostr(ScrollAmount); infs:=TypeInfo(Shift); ShiftList:=SetToString(infs,longint(Shift),true); Memo1.Caption:= ShiftList; if MouseWheelPressed then Label4.Caption:='MouseWheelPressed' else Label4.Caption:='MouseWheelUp'; end; procedure TForm1.FormMouseWheel(Sender: TObject; Shift: TShiftState; WheelDelta: Integer; MousePos: TPoint; var Handled: Boolean); var infs: PTypeInfo; ShiftList: string; // http://www.lazarusforum.de/viewtopic.php?f=18&t=8623 begin { if WheelDelta<0 then lblDirection.Caption:='Scrolling down' else lblDirection.Caption:='Scrolling up'; if WheelDelta<0 then ScrollAmount:=ScrollAmount-1 else ScrollAmount:=ScrollAmount+1; lblAmount.Caption:=inttostr(ScrollAmount); infs:=TypeInfo(Shift); ShiftList:=SetToString(infs,longint(Shift),true); Memo1.Caption:= ShiftList; if MouseWheelPressed then Label4.Caption:='MouseWheelPressed' else Label4.Caption:='MouseWheelUp'; } end; procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); var infs: PTypeInfo; ShiftList: string; // http://www.lazarusforum.de/viewtopic.php?f=18&t=8623 begin infs:=TypeInfo(Shift); ShiftList:=SetToString(infs,longint(Shift),true); Memo1.Caption:= ShiftList; Label4.Caption:= 'MouseDown'; MouseWheelPressed:=true; end; procedure TForm1.FormMouseUp(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); var infs: PTypeInfo; ShiftList: string; // http://www.lazarusforum.de/viewtopic.php?f=18&t=8623 begin infs:=TypeInfo(Shift); ShiftList:=SetToString(infs,longint(Shift),true); Memo1.Caption:= ShiftList; Label4.Caption:= 'MouseState'; MouseWheelPressed:=false; end; end.
<?xml version="1.0" encoding="UTF-8"?>
<CONFIG>
<ProjectOptions>
<Version Value="9"/>
<PathDelim Value="\"/>
<General>
<SessionStorage Value="InProjectDir"/>
<MainUnit Value="0"/>
<Title Value="proj_mouse_wheel"/>
<ResourceType Value="res"/>
<UseXPManifest Value="True"/>
<Icon Value="0"/>
</General>
<i18n>
<EnableI18N LFM="False"/>
</i18n>
<VersionInfo>
<StringTable ProductVersion=""/>
</VersionInfo>
<BuildModes Count="1">
<Item1 Name="Default" Default="True"/>
</BuildModes>
<PublishOptions>
<Version Value="2"/>
<IncludeFileFilter Value="*.(pas|pp|inc|lfm|lpr|lrs|lpi|lpk|sh|xml)"/>
<ExcludeFileFilter Value="*.(bak|ppu|o|so);*~;backup"/>
</PublishOptions>
<RunParams>
<local>
<FormatVersion Value="1"/>
</local>
</RunParams>
<RequiredPackages Count="1">
<Item1>
<PackageName Value="LCL"/>
</Item1>
</RequiredPackages>
<Units Count="2">
<Unit0>
<Filename Value="proj_mouse_wheel.lpr"/>
<IsPartOfProject Value="True"/>
</Unit0>
<Unit1>
<Filename Value="frm1.pas"/>
<IsPartOfProject Value="True"/>
<ComponentName Value="Form1"/>
<HasResources Value="True"/>
<ResourceBaseClass Value="Form"/>
</Unit1>
</Units>
</ProjectOptions>
<CompilerOptions>
<Version Value="11"/>
<PathDelim Value="\"/>
<Target>
<Filename Value="proj_mouse_wheel"/>
</Target>
<SearchPaths>
<IncludeFiles Value="$(ProjOutDir)"/>
<UnitOutputDirectory Value="lib\$(TargetCPU)-$(TargetOS)"/>
</SearchPaths>
<CodeGeneration>
<SmartLinkUnit Value="True"/>
</CodeGeneration>
<Linking>
<Debugging>
<StripSymbols Value="True"/>
<UseExternalDbgSyms Value="True"/>
</Debugging>
<LinkSmart Value="True"/>
<Options>
<Win32>
<GraphicApplication Value="True"/>
</Win32>
</Options>
</Linking>
</CompilerOptions>
<Debugging>
<Exceptions Count="3">
<Item1>
<Name Value="EAbort"/>
</Item1>
<Item2>
<Name Value="ECodetoolError"/>
</Item2>
<Item3>
<Name Value="EFOpenError"/>
</Item3>
</Exceptions>
</Debugging>
</CONFIG>
program proj_mouse_wheel;
{$mode objfpc}{$H+}
uses
{$IFDEF UNIX}{$IFDEF UseCThreads}
cthreads,
{$ENDIF}{$ENDIF}
Interfaces, // this includes the LCL widgetset
Forms, frm1
{ you can add units after this };
{$R *.res}
begin
RequireDerivedFormResource := True;
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.Run;
end.
<?xml version="1.0" encoding="UTF-8"?>
<CONFIG>
<ProjectSession>
<PathDelim Value="\"/>
<Version Value="9"/>
<BuildModes Active="Default"/>
<Units Count="2">
<Unit0>
<Filename Value="proj_mouse_wheel.lpr"/>
<IsPartOfProject Value="True"/>
<UsageCount Value="27"/>
</Unit0>
<Unit1>
<Filename Value="frm1.pas"/>
<IsPartOfProject Value="True"/>
<ComponentName Value="Form1"/>
<HasResources Value="True"/>
<ResourceBaseClass Value="Form"/>
<IsVisibleTab Value="True"/>
<TopLine Value="31"/>
<CursorPos Y="54"/>
<UsageCount Value="27"/>
<Loaded Value="True"/>
<LoadedDesigner Value="True"/>
</Unit1>
</Units>
<JumpHistory Count="27" HistoryIndex="26">
<Position1>
<Filename Value="frm1.pas"/>
<Caret Line="44" Column="32" TopLine="40"/>
</Position1>
<Position2>
<Filename Value="frm1.pas"/>
<Caret Line="43" Column="32" TopLine="39"/>
</Position2>
<Position3>
<Filename Value="frm1.pas"/>
<Caret Line="44" Column="32" TopLine="40"/>
</Position3>
<Position4>
<Filename Value="frm1.pas"/>
<Caret Line="23" Column="13" TopLine="20"/>
</Position4>
<Position5>
<Filename Value="frm1.pas"/>
<Caret Line="27" Column="36"/>
</Position5>
<Position6>
<Filename Value="frm1.pas"/>
<Caret Line="40" Column="2"/>
</Position6>
<Position7>
<Filename Value="frm1.pas"/>
<Caret Line="41" Column="2"/>
</Position7>
<Position8>
<Filename Value="frm1.pas"/>
<Caret Line="42" Column="2"/>
</Position8>
<Position9>
<Filename Value="frm1.pas"/>
<Caret Line="41" Column="2"/>
</Position9>
<Position10>
<Filename Value="frm1.pas"/>
<Caret Line="74" TopLine="8"/>
</Position10>
<Position11>
<Filename Value="frm1.pas"/>
<Caret Line="9" Column="27"/>
</Position11>
<Position12>
<Filename Value="frm1.pas"/>
<Caret Line="73" Column="2" TopLine="10"/>
</Position12>
<Position13>
<Filename Value="frm1.pas"/>
<Caret Line="74" TopLine="19"/>
</Position13>
<Position14>
<Filename Value="frm1.pas"/>
<Caret Line="67" TopLine="27"/>
</Position14>
<Position15>
<Filename Value="frm1.pas"/>
<Caret Line="49" TopLine="27"/>
</Position15>
<Position16>
<Filename Value="frm1.pas"/>
<Caret Line="82" TopLine="33"/>
</Position16>
<Position17>
<Filename Value="frm1.pas"/>
<Caret Line="81" TopLine="32"/>
</Position17>
<Position18>
<Filename Value="frm1.pas"/>
<Caret Line="80" TopLine="31"/>
</Position18>
<Position19>
<Filename Value="frm1.pas"/>
<Caret Line="63" TopLine="34"/>
</Position19>
<Position20>
<Filename Value="frm1.pas"/>
<Caret Line="105" Column="3" TopLine="43"/>
</Position20>
<Position21>
<Filename Value="frm1.pas"/>
<Caret Line="119" Column="31" TopLine="53"/>
</Position21>
<Position22>
<Filename Value="frm1.pas"/>
<Caret Line="92" Column="3" TopLine="59"/>
</Position22>
<Position23>
<Filename Value="frm1.pas"/>
<Caret Line="117" TopLine="55"/>
</Position23>
<Position24>
<Filename Value="frm1.pas"/>
<Caret Line="108" Column="28" TopLine="64"/>
</Position24>
<Position25>
<Filename Value="frm1.pas"/>
<Caret Line="81" Column="73" TopLine="48"/>
</Position25>
<Position26>
<Filename Value="frm1.pas"/>
<Caret Line="83" Column="85" TopLine="62"/>
</Position26>
<Position27>
<Filename Value="frm1.pas"/>
<Caret Line="81" TopLine="43"/>
</Position27>
</JumpHistory>
</ProjectSession>
</CONFIG>
proj_mouse_wheel.res
Description: Binary data
-- _______________________________________________ Lazarus mailing list [email protected] http://lists.lazarus-ide.org/listinfo/lazarus
