2017-02-27 13 views
-2

フォームに多数のTStringGridコンポーネントがあります。私はタブを使用してStringGridsの間を移動したい。Delphi:タブ付きの文字列グリッド間を移動

問題は、goTabsがアクティブになると、StringGridのセル間をうまく移動しますが、右下のセルが選択されると、次のタブヒットは同じStringGridの左上のセルを選択します。

これをどのように無効にすることができますか?

ありがとうございました。

+2

これは、あなたのユーザーのための楽しいUIになることはありません。私には、TABはコントロール間、またはグリッド内のセル間を移動する必要がありますが、両方を移動する必要はありません。 1つのコントロール内のすべてのセルをTABするだけで、次のコントロールに移動することができます。単一の支配的なグリッドがある場合は、スプレッドシートプログラムでグリッド内のタブ移動が機能します。 –

+0

また、本当にこのようなタブ移動を強く主張する場合は、逆タブも実装する必要があることに留意してください。 –

+0

はい、私はこれをしたいと思います。また、多くの編集ボックスを持ち、1つのタブから別のタブに移動するのが好きなので、私はそれをとても不快でも直感的でもないと感じることはありません。どのようにそれを実装するための任意のアイデア? – Spymag

答えて

-1

何かそんなこと!皆さんありがとう。

procedure TfrChild.Grd0KeyDown(Sender: TObject; var Key: Word; 
    Shift: TShiftState); 
begin 
    if (Key = VK_TAB) and (Grd0.row = Grd0.RowCount - 1) and 
    (Grd0.col = Grd0.ColCount - 1) then 
    begin 
    Grd1.row := 1; 
    Grd1.col := 0; 
    Grd1.SetFocus; 
    end; 

end; 
+0

シフトタブ、または他の修飾子を処理しません。 –

+0

いいえ、そうしないと選択しないため、そうではありません。一方的な方向は、それが必要なものに対して十分です。答えを投票するのが不公平だと思う – Spymag

+0

SHIFT + TABはどこにいても、あなたのプログラム内でさえ、この不自由なコントロールとは別に、貧しいユーザーを哀れみます。取り扱いが簡単です。 –

関連する問題