DBCtrlGridを右クリックで行選択するには?

解決


おぺろん  2017-09-25 19:57:05  No: 48774  IP: 192.*.*.*

DelphiXE5を使用して開発しています。

通常、DBCtrlGridで選択した行に対して
ポップアップメニューから処理を選択して適用したいとき、
一旦左クリックで選択した後右クリックし直さないといけません。

右クリックだけでその行が選択されメニューが出るようにしたいのですが、
どのようにしたらいいか、どなたかご教授願えませんでしょうか。

StringGridにおける対応方法は以下のサイトで分かったのですが、DBCtrlGridでのやり方が分かりません。
http://delfusa.main.jp/delfusafloor/archive/www.nifty.ne.jp_forum_fdelphi/samples/00137.html

編集 削除
おぺろん  2017-10-04 15:13:31  No: 48775  IP: 192.*.*.*

自己解決しました。申し訳ありませんでした。

procedure Form1.DBCtrlGridMouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
begin
  inherited;
  if Button = mbRight then
    PostMessage(DBCtrlGrid.Handle, WM_LBUTTONDOWN, 0, MAKELPARAM(x, y));
end;

編集 削除