我在Windows XP平台上使用Visual Studio 6.0(VC++与MFC)。我正在尝试创建一个组框,并将组框的标题作为复选框。我的意图是这样的:如果启用了该复选框,则应启用组框内的控件;否则禁用。
这有可能实现吗?如果是,请给我一些指示。
Thanks.
您可以尝试以下几种方法,具体取决于您想要坚持自己的想法的真实程度以及您准备投入多少工作:
简单方法
使用普通的组框,然后在其中将第一项设为复选框。这很容易完成,但是您失去了将复选框作为标题的目标。
时髦的绘画方法1
使用普通的组框,然后在您知道标题所在的空间中放置复选框。您将必须执行一些棘手的计算才能使其很好地适应并绘制得很好而不闪烁。
时髦的绘画方法2
使用某种形式的超类 http://msdn.microsoft.com/en-us/library/ms633569(VS.85).aspx#winproc_superclassing or subclass http://msdn.microsoft.com/en-us/library/ms997565.aspx/subclass http://msdn.microsoft.com/en-us/library/ms633569(VS.85).aspx#winproc_subclassing在组框上。您可以重写 WM_PAINT 处理程序以仅绘制组框的框架。在您知道标题所在的位置放置一个普通复选框。这应该效果更好,因为您可以更好地控制绘图,但要正确执行可能会很困难。根据我的经验,子类化的实施风险比超类化更低。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)