グリッドでオプションのAlwaysShowEditerを設定していて、Enterキーを押すとセルを一個横移動するようにしているのですが、インプレースエディターに切り替わったときにすでに入力されている文字の語尾にカーソルがセットされます。
矢印キーやクリックだと、全選択になりますが、Enterキーで全選択にしたいのです。
宜しくお願いします。
KeyUp で InplaceEditor.SelectAll
type
TStringGrid = class(Vcl.Grids.TStringGrid);
procedure TForm1.StringGrid1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key = 13 then
begin
StringGrid1.Col := StringGrid1.Col + 1;
end;
end;
procedure TForm1.StringGrid1KeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if Key = 13 then
begin
TStringGrid(StringGrid1).InplaceEditor.SelectAll;
end;
end;
ありがとうございます。
うまくいきました。
KeyUpのイベントタイミングじゃないと駄目なんですね。
他のいろんなイベントで試しましたが、うまく動きませんでした。
解決です。
編集 削除