1.如何获取MEMO中光标的在屏幕中的坐标2.如何获取MEMO中光标前的一个位置
  例:
         123 455 6 |(光标位置) 123 3213 132                要获取'6'

解决方案 »

  1.   

    2.如何获取MEMO中光标前的一个单词位置
      

  2.   

    光标获取
    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls, Buttons,SHELLAPI;type
      TForm1 = class(TForm)
        Memo1: TMemo;
        Label1: TLabel;
        Label2: TLabel;
        Button1: TButton;
        Label3: TLabel;
        Label4: TLabel;
       
        procedure Button1Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
    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;
    end.
      

  3.   

    就是 naner_china(naner)的方法,没问题
    up楼主
      

  4.   

    这种方法只是得到光标在MEMO中的位置而不是屏幕中的坐标像素坐标!!!我是想得到光标在屏幕中的坐标,以完成提示框的光标跟随
    如输入法的提示框跟随.
      或有更佳的方法来实现该功能,请高手示下,3Q3Q!
      

  5.   

    屏幕中的位置就是窗体的位置+memo的位置+光标的位置……
      

  6.   

    chijingde(AD): 
    屏幕中的位置就是窗体的位置+memo的位置+光标的位置……你的方法如何实现呢?还是要定MEMO中的相对屏幕位置呀