掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
TStringGridのShift+Tab移動について (ID:5695)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
TStringGridのShift+Tabの動作は、昔からこうだったと思います。 いろいろ対処方法はあると思いますが、とりあえずTApplicationEventsを追加してOnMessageでグリッドのShift+Tab処理する方法もあります。 例えば... procedure TForm1.ApplicationEvents1Message(var Msg: tagMSG; var Handled: Boolean); var ACol,ARow : Integer; begin if Msg.hwnd = StringGrid1.Handle then // グリッドに対するメッセージか? begin if Msg.message = WM_KEYDOWN then begin if (Msg.wParam = VK_TAB) and ((GetKeyState(VK_SHIFT) and $8000) <> 0) then begin ACol := StringGrid1.Col; ARow := StringGrid1.Row; repeat if ACol > StringGrid1.FixedCols then begin dec(ACol); end else begin if ARow > StringGrid1.FixedRows then begin dec(ARow); ACol := StringGrid1.ColCount - 1; end; end; until (StringGrid1.TabStops[ACol]); StringGrid1.Col := ACol; StringGrid1.Row := ARow; Handled := True; // グリッド標準のShift+Tab処理を禁止 end; end; end; end; てな感じです。安直な方法ですが参考までに...
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.