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 Lazarus@lists.lazarus-ide.org http://lists.lazarus-ide.org/listinfo/lazarus