如何通过点或从TRichedit索引获取字符

时间:2011-06-07 09:56:39

标签: delphi char position message richedit

我有函数返回字符的索引GetCharFromPos(Pt:TPoint):整数;

现在我想得到那个位置的特征。像GetCharByIndex(Index:Integer):Char;

2 个答案:

答案 0 :(得分:6)

使用纯VCL执行此操作的有效方法是使用SelStartSelLengthSelText

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

您可能希望在修改之前保存选择,然后在阅读完字符后将其恢复。


然而,这是阅读角色的一种相当混乱的方式。如果您准备使用原始Win32 API,则可以使用EM_GETTEXTRANGE

答案 1 :(得分:1)

以下是从TRichEdit:

返回给定索引处的字符的方法
Result := RichEdit1.Text[Index];