怎样知道TMemo当前前编焦点的位置,
假如Memo1的内容为测试1测试2,在测试1和测试2之间是当前编辑的指针焦点,怎样判断它所处在的位置

解决方案 »

  1.   

    var
    LineNum:longint;
    CharsBeforeLine:longint;
    begin
    LineNum := SendMessage(Memo1.Handle,EM_LINEFROMCHAR,Memo1.SelStart,0);
    CharsBeforeLine:=SendMessage(Memo1.Handle,EM_LINEINDEX,LineNum,0);
    Label1.Caption:='Line: '+IntToStr(LineNum + 1);
    Label2.Caption:='Position: '+IntToStr((Memo1.SelStart -CharsBeforeLine)+1);
    end;
      

  2.   

    你要屏幕坐标的话procedure TForm1.Memo1KeyPress(Sender: TObject; var Key: Char);
    var p:Tpoint;
    begin
     GetCaretPos(p);
    end;p.x,p.y 就是了