让你的EDIT控件禁用了不变灰

EDIT控件变灰了以后看起来很恶心,似乎很难修改禁用后的控件颜色,那么我们就换个思路来处理;

 

定义一个成员变量m_readonly;

 

禁用的时候就不要调用enablewindow了,对这个变量赋值就可以达到目的了,因为这个控件接受任何字符无视了,功能就这么实现了。

 

重载Onchar,

void CComEdit::OnChar(UINT nChar, UINT nRepCnt, UINT nFlags)
{
 // TODO: Add your message handler code here and/or call default
 if (m_readonly == TRUE)
 {
  return;
 }
 
 
 CEdit::OnChar(nChar, nRepCnt, nFlags);
}

 

 

你可能感兴趣的:(VC小技巧)