有没有一种方法可以以像素为单位更改插入符号位置?
我想要每次移动鼠标时都移动插入符号位置。
例如:
Onmousemove: MoveCaretPos(X, Y);
EM_CHARFROMPOS
消息来检索最接近指定点的字符,然后将返回的值设置为 SelStart
属性的值。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;