你的图看不见
1。添加类的成员变量
CEdit m_cEdit;
CButton m_cButton1;
CButton m_cButton2;
BOOL m_bCheck;
2。在Check Box的相应事件OnBnClickedCheck1中添加
if (m_bCheck)
{
m_bCheck = FALSE;
}
else
{
m_bCheck = TRUE;
}
if (m_bCheck)
{
m_cButton1.EnableWindow(TRUE);
m_cButton2.EnableWindow(TRUE);
m_cEdit.EnableWindow(TRUE);
}
if (!m_bCheck)
{
m_cButton1.EnableWindow(FALSE);
m_cButton2.EnableWindow(FALSE);
m_cEdit.EnableWindow(FALSE);
}
3。考虑一下你希望的初始状态--CheckBox是否被选中
是的话 ,事先把m_bCheck置为TRUE
否的话,事先把那3个控件EnableWindow(FALSE)处理
太感谢楼上的热心帮助了,再次表示感谢,还有点不明白想请教您(不好意思,我实在是比较菜):
关于上面的第三点:
事先把那3个控件EnableWindow(FALSE)处理,在何处将这三个控件EnableWindow(FALSE)处理呢,
我在对话框类的构造函数中直接将它们做EnableWindow(FALSE)处理,结果运行时出现一对话框,提示Debug Assertion
Failed! 点重试,出现 XXX has triggered a breakpoint,请问怎么解决呢
将m_bCheck置为TRUE ,在什么地方置TURE好呢?
再次麻烦你了,谢谢
将这三个控件EnableWindow(FALSE)处理呢?
答:OnInitDialog()中
CButton m_cButton1;
CButton m_cButton2;
BOOL m_bBtn1Checked;
BOOL m_bBtn2Checked;
m_cButton1,m_cButton2分别绑定消息函数OnButton1(),OnButton2(),m_bBtn1Checked,m_bBtn2Checked根据需求在其中赋值。
谢谢michaelru的解答
还有一个想法,两个Button和输入框属于同一个Group box,那是否可以对这个Group进行操作,就使Group内的内容都变灰或激活呢?具体应怎么实施呢?谢谢!
我发的图可能看不到,现在重发一下
还有一个想法,两个Button和输入框属于同一个Group box,那是否可以对这个Group进行操作,就使Group内的内容都变灰或激活呢?具体应怎么实施呢?谢谢!
---------------------------------------------- VC没好的办法,遍历子控件,然后检测所占RECT
博客围绕checkbox选中框置灰展开,介绍了添加类成员变量、在相应事件中处理控件状态的方法,还探讨了初始状态设置、控件置灰处理位置等问题,如在OnInitDialog()中处理,最后提及对Group box内控件统一变灰或激活的操作思路。
3418

被折叠的 条评论
为什么被折叠?



