Visual c++ 标题为复选框的分组框

Visual c++ 标题为复选框的分组框,visual-c++,mfc,checkbox,groupbox,Visual C++,Mfc,Checkbox,Groupbox,我正在Windows XP平台上使用Visual Studio 6.0(VC++和MFC)。我正在尝试创建一个组框,该组框的标题作为复选框。我的意图是:如果复选框已启用,则应启用组框内的控件;或者是残疾 这有可能实现吗?如果是,请给我一些指示 谢谢。您可以尝试几件事,具体取决于您希望坚持自己的想法的真实程度以及您准备投入多少精力: 简易法 使用普通分组框,然后在此框中使第一项成为复选框。这很容易实现,但是您失去了将复选框作为标题的目标 时髦的绘画方法1 使用一个普通的分组框,然后在你知道标题的位

我正在Windows XP平台上使用Visual Studio 6.0(VC++和MFC)。我正在尝试创建一个组框,该组框的标题作为复选框。我的意图是:如果复选框已启用,则应启用组框内的控件;或者是残疾

这有可能实现吗?如果是,请给我一些指示


谢谢。

您可以尝试几件事,具体取决于您希望坚持自己的想法的真实程度以及您准备投入多少精力:

简易法 使用普通分组框,然后在此框中使第一项成为复选框。这很容易实现,但是您失去了将复选框作为标题的目标

时髦的绘画方法1 使用一个普通的分组框,然后在你知道标题的位置的空白处,放置你的复选框。你将不得不执行一些复杂的计算,以使它很好地适应,并画好没有闪烁

时髦的绘画方法2
在分组框上使用某种形式的或/或。您可以重写WM_PAINT处理程序,以便仅绘制组框的帧。在您知道标题的位置放置一个普通复选框。这应该会更好,因为您将对图形有更多的控制,但要正确操作可能会很棘手。根据我的经验,子类化实现的风险比超类低。

您是否使用对话框编辑器?如果是,请放下分组框。接下来,在其顶部,在组框的行上方放置一个复选框。编辑资源以设置Z顺序,或在代码中执行此操作。您希望复选框位于组框的顶部。为复选框添加一个处理程序,并根据复选框的状态启用/禁用控件。

几年前我编写了一个名为CGroupCheck的控件,可从CodeProject获得:

我多次使用Funky Drawing Method 1。确保组框的文本为空,并注意选项卡顺序,否则控件将无法正确绘制。