Delphi Tips 
-----------------------------

0262  D1   D2   D3   D4   D5   D6   D7   3.1   95   98    作成: 1999/09/16 osamu rev 1.1
   B1   B3   B4   B5   B6   B7   NT3   NT4   2K   XP  更新: 1999/09/16 osamu 編集
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できます。
参照: [Delphi-ML:31921] <Additional> <コンポーネント >

[新規作成] [最新の情報に更新]

How To
Lounge
KeyWords


Tips
Delphi
Home
Osamu Takeuchi osamu@big.or.jp