ScaleRichView update and MouseWheel is dead

ScaleRichView support and discussion (TRichView add-on for WYSIWYG editing)
Post Reply
GoranBru
Posts: 33
Joined: Wed Jan 22, 2020 2:26 pm

ScaleRichView update and MouseWheel is dead

Post by GoranBru »

Hi,
We are updating the software from Delphi Sydney to Delphi 13.1 Florence as well as components. In Sydney we used TRichView 23.2 and TScaleRichView 12.4.1, in Delphi 13.1 the RV is now 24.1.3 and SRV 12.5.3. In old version one could normally scroll the document accross the pages, now it does not work anymore. Even Control+mouse scroll did change zoom, now it does not work anymore. There are no code on events connected to mouse scroll.
I tried building the TSRV demo ActionTestUni but interestingly, there the mouse scroll works as it is supposed. Has anything changed connected to mouse scroll?

Thank You and best regards,
Goran
standay
Posts: 344
Joined: Fri Jun 18, 2021 3:07 pm

Re: ScaleRichView update and MouseWheel is dead

Post by standay »

You may need to add MOUSE to your USES section. Sergey may have a better answer but adding the declaration is easy to try.

Stab
GoranBru
Posts: 33
Joined: Wed Jan 22, 2020 2:26 pm

Re: ScaleRichView update and MouseWheel is dead

Post by GoranBru »

Hi,
thanks for the help but it did not help. But I dug deeper into the problem and found out that code HookMouseWheelEvent in SclRView does not do its job since the RVWIN10 variable says False. But on ScaleRichView demo it says true on the same machine. I dug deeper and got to the RVUni.pas file, to the RVCheckNT procedure where in the demo project it correctly identifies OS version, in my application it does not. So TOSVersionInfo says in my application:
dwOSVersionInfoSize = 276
dwMajorVersion = 6
dwMinorVersion = 2
dwBuildNumber = 9200
dwPlatformID = 2

In SRV demo
dwOSVersionInfoSize = 276
dwMajorVersion = 10
dwMinorVersion = 0
dwBuildNumber = 26100
dwPlatformID = 2

In my Application I use DSiWin32 unit which correctly reports windows version. But it uses TOSVersionInfoExW in Winapi.Windows.
GoranBru
Posts: 33
Joined: Wed Jan 22, 2020 2:26 pm

Re: ScaleRichView update and MouseWheel is dead

Post by GoranBru »

Okay, somehow even though I have in Project options-Delphi Compiler RVKERNELWINVERCHECK, the procedure RVCheckNT in RVUni.pas ignores it and gets incorrect Windows version. So in DPR I added RVUni unit and added the line
RVUni.RVWin10 := True;
and now the mouse works correctly now. All users have either Windows 10, either Windows 11 so it is okay now.
Sergey Tkachenko
Site Admin
Posts: 18161
Joined: Sat Aug 27, 2005 10:28 am
Contact:

Re: ScaleRichView update and MouseWheel is dead

Post by Sergey Tkachenko »

Do you have a custom manifest file in your application?
Post Reply