我用m_edit.SetReadOnly();函数使控件变灰,再用m_edit.IsWindowEnabled();去判断,但无论是不是变灰,m_edit.IsWindowEnabled()都是返回1,请问我可用用什么函数去判断才能判断CEDIT控件是否变灰?谢谢!

解决方案 »

  1.   

    这不是禁用窗口,而是使edit只读,不允许修改内容,窗口属性是ES_READONLY,这个rc文件有的。
    判断是否是readonly代码:
    if (m_edit.GetStyle() & ES_READONLY) {...}
      

  2.   

    CEdit::SetReadOnlyBOOL SetReadOnly(BOOL bReadOnly = TRUE);返回值:
    操作成功,则返回非零值;当发生错误时为0。参数: bReadOnly 指定设置还是去掉编辑控件的只读状态。如果为TRUE值,则设置为只读状态;如果为FALSE值,则设置为可读写状态。  说明:
    调用此成员函数设置编辑控件的只读状态。当前的只读状态可由CWnd::GetStyle的返回值的ES_READONLY标志测出。要了解更多信息,请参阅Win32文档中的EM_SETREADONLY。请参阅:CWnd::GetStyle 
      

  3.   

    IsWindowEnabled
    是判断控件是否可用的,
    与只读不只读没关系