我有一个函数,它返回字符GetCharFromPos(Pt:TPoint)的索引:Integer;
现在我想了解那个职位的特点。如GetCharByIndex(Index:Integer):Char;
使用纯VCL进行此操作的有效方法是使用SelStart
、SelLength
和SelText
。
function GetCharByIndex(Index: Integer): Char;
begin
RichEdit.SelStart := Index;
RichEdit.SelLength := 1;
Result := RichEdit.SelText[1];
end;
您可能希望在修改所选内容之前先将其保存,然后在读取角色后将其恢复。
然而,这是一种相当混乱的方式来阅读一个字符。如果您准备使用原始Win32 API,则可以使用EM_GETTEXTRANGE
。
以下是如何从TRichEdit:返回给定索引处的字符
Result := RichEdit1.Text[Index];