TStringGrid の列の ReSize イベントの取得
|
ColWidthsChanged を overrideすることで、実現できます。
■interface
TStringGrid_Ex = class(TStringGrid)
private
FOnColWidthsChange:TNotifyEvent;
ptotected
procedure ColWidthsChanged; override;
published
property OnColWidthsChange:TNotifyEvent
read FOnColWidthsChange
write FOnColWidthsChange;
end;
■implementation
procedure TStringGrid_Ex.ColWidthsChange;
begin
inherited;
if Assigned(FOnColWIdthsChange) then
FOnColWidthsChange(Self);
end;
■利用方法
procedure TForm1.Grid1OnColWidthsChange(Sender:TObject);
var
idx :Longint;
begin
//条件
// Grid1.ColCount = Grid2.ColCountであること
if Sender = Grid1 then begin
for idx:=0 to Grid1.ColCount-1 do begin
Grid2.ColWidths[idx] := Grid1.ColWidths[idx];
end;
end else begin
for idx:=0 to Grid2.ColCount-1 do begin
Grid1.ColWidths[idx] := Grid2.ColWidths[idx];
end;
end;
end;
end;
同様に、RowHeighsChangedもoverrideできます。 |
|