MFC判断edit是否是不可写状态

在用MFC写实验的时候想要动态地切换edit编辑框的不可写状态。以前都是直接在控件的属性上设置,但不能满足在代码中动态切换的目的。

在网上查到可以使用((CEdit*)GetDlgItem(EDIT_ID))->SetReadOnly(TRUE)这样的语句来使用代码动态设置其可写状态,但是根据情况的不同,有时需要可写,有时需要不可写,这里只是用代码设置其状态,但是该怎么判断其状态呢?

在网上找了很久很多没有找到,最后还是在MFC的官方文档中找到说可以通过CWnd::GetStyle的返回值中的ES_READONLY标志来找到当前设置。
其中GetStyle返回当前窗口的样式,而ES_READONLY是样式的一个值,将返回值与ES_READONLY做按位与运算即可判断是否有该属性:((CEdit*)GetDlgItem(IDC_EDIT2))->GetStyle() & ES_READONLY

你可能感兴趣的:(C++,mfc,C++,edit)