我在窗体tform上面放置了一个Tmemo控件,当我在菜单上面点击“添加按钮”的菜单,希望在TMEMO光标处添加一个按钮,我采用GetCursorPos(point)来获得坐标,但是得到的却是鼠标点击菜单的坐标,并不是TMEMO控件中光标的坐标。我要如何得到光标的坐标

解决方案 »

  1.   

    LineNum := SendMessage(Memo1.Handle,EM_LINEFROMCHAR,Memo1.SelStart,0);//光标所在的当前行;
      CharsBeforeLine:=SendMessage(Memo1.Handle,EM_LINEINDEX,LineNum,0);//光标所在当前行的位置;
      

  2.   

    如果现在我想在memo第二行基个位置插入字符,像这样
    你好
    开会别迟到。
    当我想光标停在"会"字后机,然后点击按钮,系统就会在我想在“会”字后加个请字,像每二行变成“开会请别迟到”.我要如何得到光标前的字符,还有光标后的字符,然后再把修改后的字符串重新覆盖掉原来的第二行的数据。
      

  3.   

    s:='sdfj';
    for i := 1 to Length(S) do
             begin
             SendMessage(memo1.Handle, WM_CHAR, Ord(S[i]), 0)
             end ;