MFC中Combo Box如何禁用
答案:2 悬赏:60
解决时间 2021-01-19 02:23
- 提问者网友:且恨且铭记
- 2021-01-18 17:24
MFC中Combo Box如何禁用
最佳答案
- 二级知识专家网友:蕴藏春秋
- 2021-01-18 17:41
但是在另一个类里面像这样调用就不行
CDiaSetup m_cd;
m_cd.m_cmSet.EnableWindow(FALSE);
本身这么写就有问题,这样根本调用不到。可以简单的理解为CDiaSetup m_cd; 的时候,你这个界面上的combox控件是没有初始化的。可以理解为他们根本就不存在。 可以传 字符串变量或者整型变量给另外的类,然后根据那个变量去控制 控件是不是可用
CDiaSetup m_cd;
m_cd.m_cmSet.EnableWindow(FALSE);
本身这么写就有问题,这样根本调用不到。可以简单的理解为CDiaSetup m_cd; 的时候,你这个界面上的combox控件是没有初始化的。可以理解为他们根本就不存在。 可以传 字符串变量或者整型变量给另外的类,然后根据那个变量去控制 控件是不是可用
全部回答
- 1楼网友:街头电车
- 2021-01-18 18:37
GetDlgItem(控件的资源ID)->EnableWindow(TRUE/FALSE);
追问:在 CDiaSetup类中就行
m_cmSet.EnableWindow(FALSE);
但是在另一个类里面像这样调用就不行
CDiaSetup m_cd;
m_cd.m_cmSet.EnableWindow(FALSE);
追答:CDiaSetup m_cd;这样是新创建了一个CDiaSetup 的类对象,而不是已经有的那个类的对象
这个对象里的m_cmSet自然也不是你想要的那个对话框
你可以把m_cd作为一个全局变量供其他的类调用
追问:在 CDiaSetup类中就行
m_cmSet.EnableWindow(FALSE);
但是在另一个类里面像这样调用就不行
CDiaSetup m_cd;
m_cd.m_cmSet.EnableWindow(FALSE);
追答:CDiaSetup m_cd;这样是新创建了一个CDiaSetup 的类对象,而不是已经有的那个类的对象
这个对象里的m_cmSet自然也不是你想要的那个对话框
你可以把m_cd作为一个全局变量供其他的类调用
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯