MFC Tabcontrol 控件 如何设置标签页属性

3991 人浏览 | 时间: 2017-03-30 10:31:16 | 作者: codexia

原本是按键贴图做出切换界面的效果,改用Tabcontrol后切换界面方便了,但是界面没有原来的效果了。想知道如何修改标签属性的位置 ,而且我现在加载的图片 并没有完全显示出来,改如何修改属性页做出原来界面的效果呢?

原图:

改用Tabcontrol控件后:


C++技术网会员解答:

    你好,感谢对C++技术网的支持与信任。
    用之前的贴图切换界面,美观,但是切换界面不方便。使用TabControl方便切换图片,但是界面实现不理想。理想很丰满,现实很骨感!哈哈哈。那我来给你指个路,帮助你丰满一下现实吧。
    你的最终效果应该就是切换方便界面美观。所以我们从两方面来考虑问题:
1.界面美观
    要说界面美观,原先的做法,你已经实现了。只是在tabcontrol上出了问题。那我们来看看tabcontrol如何解决。要说tabcontrol的背景贴图,你已经实现了。问题在于图片显示不完整,而且还有空白。tabcontrol会自动缩放图片来适应界面的,而不是精准的像素定位。所以说,如果比例不对,就会出现各种问题。你要么调整图片的规格来适应标签的大小,要么设置标签的大小来适应图片的规格。我相信既然你能做到这个点上了,设置标签大小不会有问题的。而适配的时候,你查看RC资源里的定义,看看标签大小,然后算出比例,然后再算出图片的大小。或者反着来算。如果比例一致,一般都可以正常铺满。
    这是基于界面美观方面的建议。
2.切换方便
    使用tabcontrol之后,切换确实会省事多了。毕竟自己来管理界面的显示和隐藏,确实挺费劲。不过主要是因为姿势不对引起的。为什么tabcontrol能够这么方便?为什么自己做的就不方便?请你思考这两个问题。如果我们自己能够参考tabcontrol的实现思路,那么切换不就方便了!所以我来给你一个参考思路,你就可以在你原先的界面上实现方便的切换了。
    界面切换,你觉得麻烦,我推测你是直接在一个对话框上控制多组控件的显示和隐藏。这样确实很麻烦的。我之前也这么干过,我能体会其中的麻烦。
    tabcontrol是将控制和显示的内容分离,标签页按钮和下一步确定按钮等属于控制界面,标签页的内容属于内容界面。多个内容界面相互独立,每一个界面的内容都放在一个单独的内容界面里。在界面切换时,是将整个界面进行的显示和隐藏处理,自然也就方便切换了。而在单个界面的处理,又和单个对话框一样方便。然而tabcontrol预设的功能,界面可能不是很好看,但是这样的实现思路确实一个很好的。你可以在自己已有的基础上,采用控制和内容分离的方案,就可以实现这样的效果。而我们要做的就是在主对话框上创建多一个子对话框,然后控制这些子对话框的显示和隐藏,就可以方便的管理了。同时,我们也是基于模板来创建,对于单个的子对话框,做事件处理和主对话框一样一样的。这样界面可以很灵活,不需要tabcontrol了。
    在切换方便上面,你只需要稍微改造一下切换的逻辑,就可以了。

    至于具体采用哪种方案,你可以根据你的实际情况来选择。
请微信扫码阅读
为防止恶意爬虫,
已开启反爬机制

相关阅读