关于MFC的combo box。对话框的一些控件初始化为禁用,只有选中box里的某项才能使用,要怎么操作? 30
3个回答
展开全部
MFC的控件,要资源编辑器中, 都有一个disable属性, 你设置为true, 初始化的时候就是禁用状态了.
当然, 你也可以在OnInitDialog中设置,如下:
MFC的控件都继承于CWnd, 所以都可以这样来禁用一个控件:
GetDlgItem(IDC_xxxx)->EnableWindow(FALSE); //IDC_XXX是控件的ID, 可以是任意控件,
//后面函数中的FALSE表示禁用, TRUE表示启用.
然后在响应COMBOBOX的 OnSelChange方法时, 按上面的方法, 设置控件为有效, 即参数传入TRUE即可
当然, 你也可以在OnInitDialog中设置,如下:
MFC的控件都继承于CWnd, 所以都可以这样来禁用一个控件:
GetDlgItem(IDC_xxxx)->EnableWindow(FALSE); //IDC_XXX是控件的ID, 可以是任意控件,
//后面函数中的FALSE表示禁用, TRUE表示启用.
然后在响应COMBOBOX的 OnSelChange方法时, 按上面的方法, 设置控件为有效, 即参数传入TRUE即可
展开全部
box里的某一项 什么意思?如果是checkbox,那么:
classwizard给checkbox一个变量m_check1
在OnInitDialog里面:
m_check1=0;
GetDlgItem(IDC_COMBO1)->EnableWindow(m_check1);
在checkbox的响应函数里面:
UpdateDate(TRUE);
GetDlgItem(IDC_COMBO1)->EnableWindow(m_check1);
追问
就是一些对话框控件初始化是禁用的,灰色的,只有点击了combo box里面某个项才能使得那些控件恢复使用状态
追答
代码是类似的,函数使用就是这些。
只是控制上,用combobox?这样不好控制显示啊,不直观。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
使用这个类中的ResetContent函数就可以了,详细请查阅MFC中文帮助文档
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询