我正在尝试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。
答案 0 :(得分:3)
MFC的精彩之处在于微软为您提供了源代码。如果有问题,请查看代码。
查看EnableFullTextTooltip
,它所做的就是设置几个布尔标志。重要的是m_bDelayFullTextTooltipSet
。在OnDraw
函数中检查此标志。工具提示文本设置为SetTooltip
:如果完整按钮文本适合按钮本身,则使用NULL调用,否则使用按钮文本调用。
此功能的目的似乎是当按钮太小时,工具提示显示应该在按钮上绘制的文本。如果这不是您想要的,请避免使用此功能,因为它会覆盖您设置的工具提示。