需要帮助了解 MFC CButton 的 SetTextMargin?
Posted
技术标签:
【中文标题】需要帮助了解 MFC CButton 的 SetTextMargin?【英文标题】:Need help understanding SetTextMargin for MFC CButton? 【发布时间】:2016-04-13 21:57:15 【问题描述】:我需要一些指导来了解 SetTextMargin 如何为 CButton 工作。 我想要做的是有一个具有 BS_LEFT 样式的 CButton 并使用 SetIcon 在将出现在左侧的按钮上设置一个图标。现在需要为文本设置一些边距,以便它不会太靠近图标。我有一些关于保证金应该是多少的计算。 现在 CButton::SetTextMargin 接受一个 CRect 参数,我需要帮助理解我的 rect.right 和 rect.left 应该是什么。我已经尝试了各种测试,但我无法了解边距矩形是如何合并的。我对保证金和实际保证金的计算相差甚远。任何帮助,将不胜感激。谢谢!
【问题讨论】:
CMFCButton 类已经支持显示文本和图像,难道不能使用它吗? 我试过了,但我无法让按钮与不同 Windows 操作系统上的本机 UI 主题相匹配。不确定 CRect 是如何真正适合的,但我认为无论在代码中为 CRect 设置的宽度(rect.right - rect.left),在屏幕上,图像和文本之间的空间都是一半。所以我现在让它工作,但我仍然想了解 CRect 真正适合按钮的位置。 【参考方案1】:只回答这部分问题:
现在 CButton::SetTextMargin 接受一个 CRect 参数,我需要帮助理解我的 rect.right 和 rect.left 应该是什么。
CRect 表示您希望边距有多大。设置rect.right = 0
将不会给你右边的空白。
【讨论】:
以上是关于需要帮助了解 MFC CButton 的 SetTextMargin?的主要内容,如果未能解决你的问题,请参考以下文章
MFC使用的风格(CButton, CEdit, CStatic, CWnd等等)
MFC自己派生的CButton类如何添加鼠标单击事件响应函数