HI,
I'm working every now and then on ExifToolGui. https://github.com/FrankBijnen/ExifToolGui
I had a request from someone to change the scrollbar of the Metadatalist to a proportional one. The metadatalist is a TValueListEditor and a descendant of TStringGrid. And thus has the same problems as the TStringGrid.
My solution, until I find something better, is to:
Set ScrollBars to ssNone, so the problematic code in Vcl.Grids is bypassed. (I only care about the Vertical ScrollBar)
Override:
procedure CMShowingChanged(var Message: TMessage); message CM_SHOWINGCHANGED;
procedure WMSize(var Msg: TWMSize); message WM_SIZE;
procedure SizeChanged(OldColCount, OldRowCount: Longint); override;
And set the parameters myself.
Override:
procedure TopLeftChanged; override;
And reposition the scrollbar accordingly
Override:
procedure WMVScroll(var Msg: TWMVScroll); message WM_VSCROLL;
And reposition the grid.
The code can be enabled by setting the property ProportionalVScroll to true.
The complete source can be found here: https://github.com/FrankBijnen/ExifToolGui/blob/main/Source/ExifToolsGui_ValEdit.pas
(It contains some more additions, that you can ignore)
Hope this helps, And of course if you have tips, dont hesitate....
Frank