View Issue Details

IDProjectCategoryView StatusLast Update
0025489LazarusLCLpublic2014-09-26 13:30
ReporterMike ThompsonAssigned ToJesus Reyes 
PrioritynormalSeverityminorReproducibilityalways
Status closedResolutionfixed 
PlatformWindowsOSWindows 8OS Version64 bit
Product Version1.3 (SVN)Product BuildSVN 42849 
Target Version1.4Fixed in Version1.3 (SVN) 
Summary0025489: StringGrid Paint Issue
DescriptionLoad the attached Project and open the form in the IDE. There is a painting issue where a lower horizontal scrollbar would be. On my system this manifests as a black bar. The control is currently configured by width so no scrollbars appear.

Issue can be worked around by setting Scrollbars to ssNone, or by increasing the width of the StringGrid by approximately the width of a vertical scrollbar
Steps To ReproduceOpen attached project
Additional Informationhttp://forum.lazarus.freepascal.org/index.php/topic,23124.msg137640.html
TagsNo tags attached.
Fixed in Revision44231
LazTarget1.4
WidgetsetWin32/Win64
Attached Files
  • Stringgrid Paint Issue.7z (1,666 bytes)
  • 25489.diff (618 bytes)
    Index: grids.pas
    ===================================================================
    --- grids.pas	(revisi´┐Żn: 43641)
    +++ grids.pas	(copia de trabajo)
    @@ -3459,7 +3459,9 @@
       R := Canvas.ClipRect;
       DebugLn('TCustomGrid.Paint %s Row=%d Clip=%s',[DbgSName(Self),Row,Dbgs(R)]);
       {$endif}
    -  if [gfVisualChange,gfClientRectChange]*fGridFlags<>[] then begin
    +  if ([gfVisualChange,gfClientRectChange]*fGridFlags<>[]) or
    +     (ClientWidth<>FGCache.ClientWidth) or
    +     (ClientHeight<>FGCache.ClientHeight) then begin
         {$ifdef DbgVisualChange}
         DebugLnEnter('Resetting Sizes in Paint INIT');
         {$endif}
    
    25489.diff (618 bytes)

Relationships

duplicate of 0024724 closedJesus Reyes Stringgrid ScrollBars, ssAuto... doesn't work correctly 

Activities

Mike Thompson

2014-01-04 02:35

developer  

Stringgrid Paint Issue.7z (1,666 bytes)

Jesus Reyes

2014-01-08 08:52

developer  

25489.diff (618 bytes)
Index: grids.pas
===================================================================
--- grids.pas	(revisi´┐Żn: 43641)
+++ grids.pas	(copia de trabajo)
@@ -3459,7 +3459,9 @@
   R := Canvas.ClipRect;
   DebugLn('TCustomGrid.Paint %s Row=%d Clip=%s',[DbgSName(Self),Row,Dbgs(R)]);
   {$endif}
-  if [gfVisualChange,gfClientRectChange]*fGridFlags<>[] then begin
+  if ([gfVisualChange,gfClientRectChange]*fGridFlags<>[]) or
+     (ClientWidth<>FGCache.ClientWidth) or
+     (ClientHeight<>FGCache.ClientHeight) then begin
     {$ifdef DbgVisualChange}
     DebugLnEnter('Resetting Sizes in Paint INIT');
     {$endif}
25489.diff (618 bytes)

Jesus Reyes

2014-01-08 08:52

developer   ~0072295

Please, try the attached patch.

ocean

2014-01-08 11:35

reporter   ~0072305

Dup of 24724, attached patch seems to work for that

Mike Thompson

2014-02-06 08:57

developer   ~0072875

I can confirm that this patch works. Many thanks.

Issue History

Date Modified Username Field Change
2014-01-04 02:35 Mike Thompson New Issue
2014-01-04 02:35 Mike Thompson File Added: Stringgrid Paint Issue.7z
2014-01-08 08:51 Jesus Reyes Assigned To => Jesus Reyes
2014-01-08 08:51 Jesus Reyes Status new => assigned
2014-01-08 08:52 Jesus Reyes File Added: 25489.diff
2014-01-08 08:52 Jesus Reyes LazTarget => -
2014-01-08 08:52 Jesus Reyes Note Added: 0072295
2014-01-08 08:52 Jesus Reyes Status assigned => feedback
2014-01-08 11:35 ocean Note Added: 0072305
2014-01-15 13:21 Bart Broersma Relationship added duplicate of 0024724
2014-02-06 08:57 Mike Thompson Note Added: 0072875
2014-02-06 08:57 Mike Thompson Status feedback => assigned
2014-02-25 07:46 Jesus Reyes Fixed in Revision => 44231
2014-02-25 07:46 Jesus Reyes LazTarget - => 1.4
2014-02-25 07:46 Jesus Reyes Status assigned => resolved
2014-02-25 07:46 Jesus Reyes Fixed in Version => 1.3 (SVN)
2014-02-25 07:46 Jesus Reyes Resolution open => fixed
2014-02-25 07:46 Jesus Reyes Target Version => 1.4
2014-09-26 13:30 Mike Thompson Status resolved => closed