【问题标题】:What does CMFCButton::EnableFullTextTooltip do?CMFCButton::EnableFullTextTooltip 有什么作用?
【发布时间】:2011-11-08 15:59:07
【问题描述】:

我正在尝试 CMFCButton 工具提示,发现如果我调用 EnableFullText() 工具提示不会显示。

这里有一个小例子:

// In OnInitDialog()
c_MyBtn.m_nFlatStyle = CMFCButton::BUTTONSTYLE_SEMIFLAT;
c_MyBtn.SetMouseCursorHand();
c_MyBtn.EnableFullTextTooltip();
c_MyBtn.SetTooltip(_T("Some string"));
c_MyBtn.Invalidate();

那么,这个函数有什么作用吗?文档说它“指定是在大工具提示窗口中显示工具提示的全文还是在小工具提示窗口中显示文本的截断版本”,但我唯一看到的是工具提示不显示。我试过长字符串和带换行符的字符串,但没有。

有人知道这个功能的用途和使用方法吗?

我使用的是 Visual Studio 2008 SP1。

【问题讨论】:

    标签: mfc mfc-feature-pack


    【解决方案1】:

    MFC 的美妙之处在于微软为您提供了源代码。如果有任何问题,请查看代码。

    查看EnableFullTextTooltip,它所做的只是设置了几个布尔标志。重要的是m_bDelayFullTextTooltipSet。在OnDraw 函数中检查此标志。工具提示文本使用SetTooltip 设置:如果完整的按钮文本适合按钮本身,则使用 NULL 调用,否则使用按钮文本调用。

    看起来这个函数的目的是让工具提示显示当按钮太小时应该在按钮本身上绘制的文本。如果这不是您想要的,请避免使用此功能,因为它会覆盖您设置的工具提示。

    【讨论】:

    • 是的,我看过并得出了相同的结论,但也没能成功。但是现在,经过一整夜的睡眠,我第一次尝试就成功了。是的,如果它不适合按钮,它会在工具提示中绘制整个标题。但这不是文档所说的。这是 MFC 最糟糕的事情之一,它的文档通常很糟糕,有时甚至会完全误导。
    猜你喜欢
    • 1970-01-01
    • 2010-11-30
    • 2023-04-10
    • 2011-07-17
    • 2014-09-13
    • 2011-12-30
    • 1970-01-01
    • 1970-01-01
    • 2019-04-26
    相关资源
    最近更新 更多