« ☆TWebBrowserで自動ログイン | トップページ | ■ナッキーの「Turbo Delphiはじめて奮戦記」 »

☆DBGridのセル位置取得

さきほど Delphi Users' Forum でコメントに書いたものですが、せっかくなのでこちらにも記録しておきますね。
トリッキーな方法かも知れませんが、型キャストすることにより上位クラスが持っている関数等を利用しています。 サンプルでは、選択されたセルの位置やサイズを知ることができます。今まで使ったことがないので、何に使えるのかよくわかりませんけど(笑)
type
  TDummyDBGrid = class(TCustomDBGrid);

procedure TForm1.DBGrid1CellClick(Column: TColumn);
var
  Col, Row: Integer;
  R: TRect; 
begin
  Col := TDummyDBGrid(DBGrid1).Col;
  Row := TDummyDBGrid(DBGrid1).Row;
  // DBGrid上ではこの位置
  R := TDummyDBGrid(DBGrid1).CellRect(Col, Row);
  // フォーム上ではこの位置
  R.Top := R.Top + DBGrid1.Top;
  R.Left := R.Left + DBGrid1.Left;
end;

|

« ☆TWebBrowserで自動ログイン | トップページ | ■ナッキーの「Turbo Delphiはじめて奮戦記」 »