移动TRichEdit Caretpos

| 有没有办法改变插入符号的像素位置? 每当我移动鼠标时,我都希望移动护理位置。 喜欢: Onmousemove:   MoveCaretPos(X,Y);     
已邀请:
        不可以,您不能将插入符号的位置设置为特定点,而必须将插入符号的位置设置为字符位置。为此,必须使用“ 0”消息检索最接近指定点的字符,然后将返回值设置为“ 1”属性。 检查这个样本
procedure TForm1.RichEdit1MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer);
var
 APoint  : TPoint;
 Index   : Integer;
begin
   APoint := Point(X, Y);
   Index :=  SendMessage(TRichEdit(Sender).Handle,EM_CHARFROMPOS, 0, Integer(@APoint));
   if Index<0 then Exit;
   TRichEdit(Sender).SelStart:=Index;
end;
    

要回复问题请先登录注册