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

解決


studio-take  2012-10-04 07:19:03  No: 43124  IP: [192.*.*.*]

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

編集    削除
KHE00221  2012-10-04 10: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-05 08:01:16  No: 43126  IP: [192.*.*.*]

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

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

編集    削除
studio-take  2012-10-06 04:35:38  No: 43127  IP: [192.*.*.*]

解決です。

編集    削除