掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
StringGrid編集中に矢印キー(←→)でセル移動するには (ID:11333)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
2文字って全角半角がわかりませんのでここでは2バイト以上で移動できるように しました。適宜変更してください。 { Private 宣言 } public ctrl:TControl; procedure InplaceEditKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.InplaceEditKeyDown(Sender: TObject; var Key: Word; Shift: TShiftState); begin if Length(TEdit(ctrl).Text) >= 2 then case Key of VK_LEFT:begin keybd_event(VK_RETURN,0,0,0); keybd_event(VK_RETURN,0,KEYEVENTF_KEYUP,0); keybd_event(VK_LEFT,0,0,0); keybd_event(VK_LEFT,0,KEYEVENTF_KEYUP,0); end; VK_RIGHT:begin keybd_event(VK_RETURN,0,0,0); keybd_event(VK_RETURN,0,KEYEVENTF_KEYUP,0); keybd_event(VK_RIGHT,0,0,0); keybd_event(VK_RIGHT,0,KEYEVENTF_KEYUP,0); end; end; end; procedure TForm1.StringGrid1GetEditText(Sender: TObject; ACol, ARow: Integer; var Value: String); begin ctrl := StringGrid1.Controls[0]; if ctrl is TInplaceEdit then TEdit(ctrl).OnKeyDown := InplaceEditKeyDown; end;
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.