View Issue Details

IDProjectCategoryView StatusLast Update
0027072LazarusLCLpublic2020-06-06 20:30
ReporterEdson Assigned ToMartin Friebe  
PrioritynormalSeverityminorReproducibilityalways
Status resolvedResolutionfixed 
Platformi386OSWIndows 
Product Version1.2.4 
Target Version1.10Fixed in Version1.10 
Summary0027072: SynEdit (LCL/Widgetset) Scrollbar Error
DescriptionThe pointer of the mouse change incorrectly at the last line of a SynEdit when set the Scrollbar to 'ssVertical' on the 'OnShow' event.
Steps To ReproduceIf you put a SynEdit control on a empty Form.

Then add this code to the OnShow event:

procedure TForm1.FormShow(Sender: TObject);
begin
  SYnEdit1.ScrollBars:=ssVertical;
end;

Execute, and then move the mouse over the last line of the SynEdit. The pointer is wrong (It must be a text mouse pointer but is the default mouse pointer).
TagsNo tags attached.
Fixed in Revision58526
LazTarget1.10
WidgetsetWin32/Win64
Attached Files

Activities

Edson

2014-11-22 03:48

reporter  

SynEditScrollBar.rar (128,071 bytes)

Martin Friebe

2014-11-22 04:26

manager   ~0079262

See: http://forum.lazarus.freepascal.org/index.php/topic,26485.msg163160

This appears to affect only specific systems / Maybe OS version.

Issue may be in LCL/Widgetset, since SynEdit sets the scrollbar to be hidden, and it visually is correctly gone.

Their is a mismatch between the scrollbars visibility, and the detection of what is under the mouse pointer during the WM_* messages that detemine the pointers shape.

---------------
Need someone who can reproduce.

Do-wan Kim

2014-11-22 07:52

reporter   ~0079263

Last edited: 2014-11-24 09:27

View 2 revisions

I got also problem under windows 7 home premium.
I guess synedit always assume existing horizonal scrollbar and painting text at that point of horizonal scrollbar.

synedit control size is 312 x 224 at form 8, 8.

I found this, but not a same case. Theme related.
http://forums.codeguru.com/showthread.php?512169-RESOLVED-ShowScrollBar-fails-to-remove-scrollbars

Martin Friebe

2018-07-15 02:44

manager   ~0109480

Possible related: https://social.msdn.microsoft.com/Forums/vstudio/en-US/88abdb31-651b-4b47-ae24-8b923344c349/showscrollbar-fails-to-remove-scrollbars-with-animation-on-vistawindows-7?forum=vcgeneral

It seems the scrollbar was not removed. SynEdit did not even receive mouse messages for the affected area.
And worst, resizing SynEdit would paint the scrollbar again, definitely without SynEdit issuing a call to Windows (so the scrollbar would not work properly).

Curiously hiding the scrollbar works, if it is on ssAuto..., and SynEdit width is changed. Apparently this is, because its page size reaches the max scroll value, so the scrollbar exists, but can not scroll. Once that happened it can be hidden.

This is now simulated before hiding it. Works on my system (and I was able to reproduce).

------------
Please test and close if ok.

Issue History

Date Modified Username Field Change
2014-11-22 03:48 Edson New Issue
2014-11-22 03:48 Edson File Added: SynEditScrollBar.rar
2014-11-22 04:26 Martin Friebe Note Added: 0079262
2014-11-22 04:27 Martin Friebe LazTarget => -
2014-11-22 04:27 Martin Friebe Summary SynEdit Scrollbar Error => SynEdit (LCL/Widgetset) Scrollbar Error
2014-11-22 07:52 Do-wan Kim Note Added: 0079263
2014-11-24 09:27 Do-wan Kim Note Edited: 0079263 View Revisions
2018-07-15 01:05 Martin Friebe Assigned To => Martin Friebe
2018-07-15 01:05 Martin Friebe Status new => assigned
2018-07-15 02:44 Martin Friebe Fixed in Revision => 58526
2018-07-15 02:44 Martin Friebe LazTarget - => 1.10
2018-07-15 02:44 Martin Friebe Note Added: 0109480
2018-07-15 02:44 Martin Friebe Status assigned => resolved
2018-07-15 02:44 Martin Friebe Fixed in Version => 1.10
2018-07-15 02:44 Martin Friebe Resolution open => fixed
2018-07-15 02:44 Martin Friebe Target Version => 1.10