yu_hl(卖柴火的小男孩):
LineFromChar好像返回的是行的索引,也就是行中第一个字符距起始点的偏移量.

解决方案 »

  1.   

    发送EM_GETLINE消息。SendMessage( 
      (HWND) hWnd,          // handle to destination window 
    0A  EM_GETLINE,           // message to send
      (WPARAM) wParam,      // line number
      (LPARAM) lParam       // line buffer (LPCTSTR)
    );这里离天堂的宽带还有多远?
      

  2.   

    方法是有了,比较麻烦,有没有比较简单的方法。希望就向Delphi中似的,
    发个消息就可得到光标的行数、列数。愿再加100分求更简单的方法!先列出我的方法:
    HWND hFocus;//Edit或RichEdit的句柄
    int LineNum;
    int LineCount=::SendMessage(hFocus,EM_GETLINECOUNT,0,0);
    int LineIndexNow=::SendMessage(hFocus,EM_LINEINDEX,((WPARAM)-1),0);
    for(int i=0;i<LineCount;i++)
    {
       int LineIndex = ::SendMessage(hFocus,EM_LINEINDEX,((WPARAM)i),0);
       if(LineIndex == LineIndexNow)
       {
          LineNum=i;
          break;
       }
    }
      

  3.   

    int Row=SendMessage(RichEdit1->Handle,EM_LINEFROMCHAR,RichEdit1->SelStart,0);
     int FirstCharInLine=SendMessage(RichEdit1->Handle,EM_LINEINDEX,Row,0);
     int Col=RichEdit1->SelStart-FirstCharInLine;