DBGrid - SelectedRowsがTrue時のTabキーの動きは?


mira  2007-07-21 02:40:05  No: 27137

環境:WinXP pro  Delphi 2007 

いつもお世話になっています。
現在、DBGridを使ったマスタメンテナンスを作成しています。

フォーカスがDBGridにあり、Tabキーが押された場合に
選択されている行を↓へ↓へ遷移させる動きを行いたいと考えています。

FormKeyDownでTabキーが押されたか判定していましたが、
DBGridをSelectedRows = Trueにしたところ、Tabキーが拾えなくなりました。

その他のキーは、以前と同じく、FormKeyDownで拾えるのですが
どうしたものかと困っています。
何かアドバイスがあれば、宜しくお願いします。

下記にFormKeyDownのコードを記載します。
※コードはSelectedRows = False時のものです。
-------------------------------------------------------------------------------

procedure TfmBASE.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if (Key = VK_TAB) and (Shift = []) and
     (ActiveControl is TDBGrid) then
  begin
    if TDBGrid(ActiveControl).SelectedIndex = TDBGrid(ActiveControl).Columns.Count - 1 then
    begin
      if TDBGrid(ActiveControl).DataSource.DataSet.State in [dsEdit, dsInsert] then
         TDBGrid(ActiveControl).DataSource.DataSet.Post;

      if TDBGrid(ActiveControl).DataSource.DataSet.RecordCount =
          TDBGrid(ActiveControl).DataSource.DataSet.RecNo then
      begin
        SelectNext(ActiveControl, True, True);
        Abort;
      end;
    end;
  end;
end;


mira  2007-07-21 03:30:47  No: 27138

ひどい間違い…

SelectedRows ⇒ dgRowSelect でした。

タイトルから間違ってるので紛らわしくなってしまい
申し訳ありません。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加