StringGrid内のキャレット位置を調べるには

解決


はははね  2004-09-09 00:08:09  No: 10860

StringGridを使って入力プログラムを作っていますが、セルが編集中の時に
セル内のキャレットをマウスにて移動された場合、リアルタイムに位置を拾うことができません。どなたかご教授お願いします。
ちなみにStringGridのOptionsプロパティはgoEditingとgoTabsをTrueにしています。


jok  2004-09-09 04:19:12  No: 10861

ちょっとキャストが邪道っぽいですが、以下でうまくいきました。

    { Private 宣言 }
  public
    ctl:TControl;
    procedure IPEClick(Sender: TObject);
  end;

var
  Form1: TForm1;

implementation

{$R *.DFM}

procedure TForm1.IPEClick(Sender: TObject);
begin
  Memo1.Lines.Add(IntToStr(TEdit(ctl).SelStart));
end;

procedure TForm1.StringGrid1Click(Sender: TObject);
begin
  if StringGrid1.ControlCount > 0 then begin
    ctl := StringGrid1.Controls[0];
    if ctl is TInplaceEdit then
      TEdit(ctl).OnClick := IPEClick;
  end;
end;


はははね  2004-09-09 18:18:53  No: 10862

確認してみました。OKです。
どうもありがとうございました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加