Contents
- Index
- Previous
OnTopLeftChanged event
Applies to
TProfGrid component
Declaration
property OnTopLeftChanged: TNotifyEvent;
Description
Occurs after the TopRow property or the LeftCol property changes.
Use OnTopLeftChanged to perform any special processing when the non-fixed cells in the grid are scrolled.
Example
The following example demonstrates how to control the grid's horizontal and vertical scrolling via two separate TScrollBar components. The grid's ScrollBars property is set to ssNone, so all scrolling is performed via the TScrollBar controls. ScrollBar1 has Kind=sbHorizontal, and ScrollBar2 has Kind=sbVertical.
procedure TForm1.FormCreate(Sender: TObject);
begin
ScrollBar1.Max := MaxShortInt;
ScrollBar2.Max := MaxShortInt;
end;
procedure TForm1.ScrollBar1Scroll(Sender: TObject; ScrollCode: TScrollCode;
var ScrollPos: Integer);
begin
ProfGrid1.Perform(WM_HSCROLL, MAKEWPARAM(Ord(ScrollCode), ScrollPos), 0);
end;
procedure TForm1.ScrollBar2Scroll(Sender: TObject; ScrollCode: TScrollCode;
var ScrollPos: Integer);
begin
ProfGrid1.Perform(WM_VSCROLL, MAKEWPARAM(Ord(ScrollCode), ScrollPos), 0);
end;
procedure TForm1.ProfGrid1TopLeftChanged(Sender: TObject);
begin
ScrollBar1.Position := MulDiv(
TProfGrid(Sender).LeftCol - TProfGrid(Sender).FixedCols,
MaxShortInt,
TProfGrid(Sender).ColCount - TProfGrid(Sender).FixedCols - TProfGrid(Sender).VisibleColCount
);
ScrollBar2.Position := MulDiv(
TProfGrid(Sender).TopRow - TProfGrid(Sender).FixedRows,
MaxShortInt,
TProfGrid(Sender).RowCount - TProfGrid(Sender).FixedRows - TProfGrid(Sender).VisibleRowCount
);
end;