グリッドのセル移動でインプレースエディターの全選択をするには

解決


studio-take  2012-10-03 22:19:03  No: 43124  IP: 192.*.*.*

グリッドでオプションのAlwaysShowEditerを設定していて、Enterキーを押すとセルを一個横移動するようにしているのですが、インプレースエディターに切り替わったときにすでに入力されている文字の語尾にカーソルがセットされます。
矢印キーやクリックだと、全選択になりますが、Enterキーで全選択にしたいのです。
宜しくお願いします。

編集 削除
KHE00221  2012-10-04 01:02:22  No: 43125  IP: 192.*.*.*

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;

編集 削除
studio-take  2012-10-04 23:01:16  No: 43126  IP: 192.*.*.*

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

KeyUpのイベントタイミングじゃないと駄目なんですね。
他のいろんなイベントで試しましたが、うまく動きませんでした。

編集 削除
studio-take  2012-10-05 19:35:38  No: 43127  IP: 192.*.*.*

解決です。

編集 削除