与标题复选框组框(Group box with title as Check box)

2019-09-17 02:09发布

我在Windows XP平台上使用Visual Studio 6.0(VC ++与MFC)。 我试图创建一个组框,该组框的标题为复选框。 我的本意是这样的:如果启用该复选框,组框内部的控制应该被启用。 否则无效。

这是可能实现? 如果是的话,请给我一些方向。

谢谢。

Answer 1:

有几件事你可以尝试,这取决于你想如何真正留下来你的想法和多少工作,你愿意投入的努力:

简单的方法

使用正常组框,然后在这里面做的第一个项目是复选框。 这很容易做到,但你失去具有复选框为标题的目标。

时髦的描绘方法1

使用正常组中,然后在超过您知道标题是去,把你的复选框的空间。 你将不得不执行一些棘手的计算得到它很好地适应和无闪烁画好。

时髦的描绘方法2

使用某种形式的超类或子类 / 子类的组框。 您可以覆盖WM_PAINT处理程序仅在帧组框画。 将正常的复选框,在你知道标题是去的地方。 这应该更好地工作,因为你将有重新画了更多的控制权,但它很可能会非常棘手得到的权利。 根据我的经验,子类比超类实现低风险。



Answer 2:

您是否使用对话框编辑器? 如果是这样,放下组框。 接下来,在它的上面,把复选框在组框的线。 编辑资源设置Z顺序,或做在代码。 你想要的复选框要对组框的顶部。 添加的处理程序复选框并启用/取决于复选框状态禁用控制。



Answer 3:

我写了一个叫CGroupCheck几年回来了,它可以从CodeProject: http://www.codeproject.com/KB/buttons/groupcheck123.aspx



文章来源: Group box with title as Check box