checkbox 选中框置灰_请教使用CheckBox将另一个Group Box内的按钮和输入框变灰(即不接受输入),越详细越好,谢谢...

博客围绕checkbox选中框置灰展开,介绍了添加类成员变量、在相应事件中处理控件状态的方法,还探讨了初始状态设置、控件置灰处理位置等问题,如在OnInitDialog()中处理,最后提及对Group box内控件统一变灰或激活的操作思路。

你的图看不见

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值