CEdit继承类重画

void   CEditEx::OnPaint()   
{ 
CPaintDC   dc(this);   //   device   context   for   painting 

//   TODO:   Add   your   message   handler   code   here 
CRect   rc; 
GetClientRect(&rc); 
dc.Rectangle(&rc); 

dc.SetBkMode(TRANSPARENT); 

CString   str; 
GetWindowText(str); 
dc.TextOut(0,   0,   str); 

CPoint   ptCaret   =   GetCaretPos(); 
CString   strTmp   =   str.Right(1); 
ptCaret.Offset(dc.GetTextExtent(strTmp).cx,   0); 
SetCaretPos(ptCaret); 
//   Do   not   call   CEdit::OnPaint()   for   painting   messages 
} 


BOOL   CEditEx::OnEraseBkgnd(CDC*   pDC)   
{ 
//   TODO:   Add   your   message   handler   code   here   and/or   call   default 
return   TRUE; 
//	return   CEdit::OnEraseBkgnd(pDC); 
} 

void   CEditEx::OnSetFocus(CWnd*   pOldWnd)   
{ 
//	CEdit::OnSetFocus(pOldWnd); 

//   TODO:   Add   your   message   handler   code   here 
UpdateWindow(); 
Invalidate(); 
} 

void   CEditEx::OnChar(UINT   nChar,   UINT   nRepCnt,   UINT   nFlags)   
{ 
//   TODO:   Add   your   message   handler   code   here   and/or   call   default 
CString   str; 
GetWindowText(str); 
str   +=   nChar; 
SetWindowText(str); 
//	CEdit::OnChar(nChar,   nRepCnt,   nFlags); 
} 


void   CEditEx::OnNcPaint()   
{ 
//   TODO:   Add   your   message   handler   code   here 

//   Do   not   call   CEdit::OnNcPaint()   for   painting   messages 
}



转帖:http://topic.csdn.net/t/20040111/11/2653738.html

你可能感兴趣的:(CEdit继承类重画)