CEdit获取一行的文字

转自:http://blog.csdn.net/riag/article/details/3948124

CEdit的接口LineLength(nCharIndex) 的参数并不是指CEdit的第几行,需要通过函数LineIndex来进行转换。


[cpp]  view plain copy
  1. int nIndex = 4 ; //假设要获取CEdit的第4行的文字  
  2. int nCharIndex = nCharIndex = this->LineIndex(nIndex) ;  
  3. int nlen = this->LineLength(nCharIndex) ;  
  4. CString strText ;  
  5. this->GetLine(nIndex, strText.GetBuffer(nlen), nlen) ;  
  6. strText.ReleaseBuffer() ;  


下面是获取鼠标双击CEdit的那行文字
[cpp]  view plain copy
  1. void MyEdit::OnLButtonDblClk(UINT nFlags, CPoint point)  
  2. {  
  3.     CEdit::OnLButtonDblClk(nFlags, point) ;  
  4.       
  5.     int nIndex = this->CharFromPos(point) ;  
  6.     int nCharIndex = LOWORD(nIndex) ;    
  7.     nIndex = HIWORD(nIndex) ;  
  8.     if (nIndex == -1)  
  9.     {  
  10.         return ;  
  11.     }  
  12.     CString strText ;  
  13.     int nCharIndex = this->LineIndex(nIndex) ;  
  14.      
  15.     int nlen = this->LineLength(nCharIndex) ;  
  16.     this->GetLine(nIndex, strText.GetBuffer(nlen), nlen) ;  
  17.     strText.ReleaseBuffer() ;  
  18. }   

你可能感兴趣的:(C/C++编程,VC)