StringGrid の Cell 選択をマウス右 Click で行うには?

解決


tama  2003-12-09 00:32:59  No: 5984  IP: [192.*.*.*]

StringGrid の Cell 選択はマウス左 Click でできますが、
これをマウス右 Clickででもできるようにするには
どうすればよいのですか?(WinXp-home,D7-pro)

編集    削除
にしの  2003-12-09 01:28:07  No: 5985  IP: [192.*.*.*]

右で押されたら左で押したことにすればOKです。

こんな感じ。

procedure TForm1.StringGrid1MouseDown(Sender: TObject;
  Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
  if Button = mbRight then StringGrid1.Perform(WM_LBUTTONDOWN, MK_LBUTTON, MakeLong(X, Y));
end;

procedure TForm1.StringGrid1MouseUp(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  if Button = mbRight then StringGrid1.Perform(WM_LBUTTONUP, MK_LBUTTON, MakeLong(X, Y));
end;

編集    削除
tama  2003-12-09 02:29:55  No: 5986  IP: [192.*.*.*]

にしのさんありがとうございました。
MouseDownイベントでX,Y,ColWidth,RowHeightなどで計算して
Row,Colを求めるというユーウツなことを考えていました(^^;

編集    削除