在用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
。