ViewVC Help
View File | Revision Log | Show Annotations | Download File | View Changeset | Root Listing
root/public/ibx/branches/journaling/ibcontrols/DBControlGrid.pas
(Generate patch)

Comparing ibx/trunk/ibcontrols/DBControlGrid.pas (file contents):
Revision 143 by tony, Fri Feb 23 12:11:21 2018 UTC vs.
Revision 317 by tony, Thu Feb 25 12:01:13 2021 UTC

# Line 68 | Line 68 | uses
68   }
69  
70   type
71  TRowCacheState = (rcEmpty,rcPresent,rcDeleted);
72  TRowDetails = record
73    FState: TRowCacheState;
74    FAlternateColor: boolean;
75    FBitmap: TBitmap;
76  end;
77
71    { TRowCache }
72  
73    TRowCache = class
74    private
75 +    type
76 +      TRowCacheState = (rcEmpty,rcPresent,rcDeleted);
77 +      TRowDetails = record
78 +        FState: TRowCacheState;
79 +        FAlternateColor: boolean;
80 +        FBitmap: TBitmap;
81 +  end;
82 +
83 +  private
84      FAltColorStartNormal: boolean;
85      FHeight: integer;
86      FList: array of TRowDetails;
# Line 305 | Line 307 | begin
307    Container := TBitmap.Create;
308    try
309      Container.SetSize(Control.Width,Control.Height);
310 +    Container.Canvas.Brush.Color := control.Color;
311 +    Container.Canvas.FillRect(0,0,Control.Width,Control.Height);
312      Control.PaintTo(Container.Canvas,0,0);
313    except
314      Container.Free;
# Line 418 | Line 422 | begin
422   end;
423  
424   function TRowCache.Add2Cache(RecNo: Longint; Control: TWinControl): TBitmap;
421 var i: integer;
425   begin
426    Dec(RecNo); {Adust to zero base}
427    ExtendCache(RecNo + 1);
# Line 664 | Line 667 | procedure TDBControlGrid.KeyDownHandler(
667   var Done: boolean;
668      AControl: TControl;
669   begin
670 <  if Visible and assigned(FDrawPanel) and FDrawPanel.Visible and FWeHaveFocus then
670 >  if Visible and assigned(FDrawPanel) and FDrawPanel.Visible and FWeHaveFocus
671 >    and (Self.Owner=Screen.ActiveForm) then
672    begin
673      AControl := ActiveControl;
674      if (AControl <> nil) and (AControl is TCustomComboBox)
# Line 1176 | Line 1180 | begin
1180      result := dsInactive;
1181   end;
1182  
1179 var
1180  DataCol: Integer;
1183   begin
1184    PrepareCanvas(aCol, aRow, aState);
1185  
# Line 1288 | Line 1290 | end;
1290   procedure TDBControlGrid.KeyDown(var Key: Word; Shift: TShiftState);
1291   type
1292    TOperation=(opMoveBy,opCancel,opAppend,opInsert,opDelete);
1291 var
1292  DeltaCol,DeltaRow: Integer;
1293  
1294    procedure DoOnKeyDown;
1295    begin
# Line 1691 | Line 1691 | begin
1691      FDataLink.Free;
1692    end;
1693    if assigned(FRowCache) then FRowCache.Free;
1694 +  if not (csDesigning in ComponentState) then
1695 +    Application.RemoveOnKeyDownBeforeHandler( @KeyDownHandler );
1696    Application.RemoveAsyncCalls(self);
1697    inherited Destroy;
1698   end;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines