1

文字 GetCharFromPos(Pt: TPoint): Integer; のインデックスを返す関数があります。

今、私はその位置のキャラクターを取得したかった. GetCharByIndex(Index: Integer): Char; のように

4

2 に答える 2

6

純粋な VCL を使用してこれを行う効率的な方法はSelStartSelLengthとを使用することSelTextです。

function GetCharByIndex(Index: Integer): Char;
begin    
  RichEdit.SelStart := Index;
  RichEdit.SelLength := 1;
  Result := RichEdit.SelText[1];
end;

変更する前に選択を保存しておき、文字を読み終わったら元に戻すことをお勧めします。


ただし、これは文字を読むにはかなり厄介な方法です。生の Win32 API を使用する準備ができている場合は、EM_GETTEXTRANGE.

于 2011-06-07T11:24:06.220 に答える
1

TRichEdit から特定のインデックスの文字を返す方法は次のとおりです。

Result := RichEdit1.Text[Index];
于 2011-06-07T10:46:30.823 に答える