如何在动态创建的CMFCToolbar的工具提示中添加描述?
How to add description in dynamically created CMFCToolbar's ToolTip?
CMFCToolbar 继承了 EnableToolTip 函数,如果开发人员动态创建工具栏而不在资源中添加描述和标题,则对开发人员没有帮助。 我为CMFCToolBar做了一个扩展,并编写了一个函数:
BOOL CMFCToolBarEx::OnNeedTipText(UINT /*id*/, NMHDR* pNMH, LRESULT* /*pResult*/)
{
TOOLTIPTEXT *pTTT = (TOOLTIPTEXT *)pNMH;
// UINT nID = static_cast<int>(pNMH->idFrom);
CString strTip = _T("");
CPoint point;
::GetCursorPos(&point);
ScreenToClient(&point);
INT_PTR nHit = ((CMFCToolBar*)this)->HitTest(point);
if(nHit == -1)
return FALSE;
CMFCToolBarButton* pButton = GetButton((int)nHit);
strTip = pButton->m_strText;
_tcscpy(pTTT->lpszText , strTip.GetBuffer(0));
return TRUE;
}
以在 cmfc 工具栏按钮中显示工具提示。
cmfc工具栏按钮不带任何参数,也没有设置描述的功能。构造函数采用如下参数:
pToolBarButton = new CMFCToolBarButton(nId, nIconIndex, lpszText);
如果我仅使用标题设置参数lpszText,则工具提示如下所示
我需要向此工具栏添加描述并像这样查看它,如果有人可以提出更好的方法
任何寻找答案的人。在这里,您只需添加
CTooltipManager::SetTooltipText((TOOLINFO*) pTTT, m_pToolTip, AFX_TOOLTIP_TYPE_TOOLBAR, strTip, strDescr);
到您覆盖的 onneedtiptext 函数。
相关文章:
- 将成员变量添加到共享库中的类中,不会破坏二进制兼容性吗
- 如何在C++中从两个单独的for循环中添加两个数组
- POCO::PostgreSQL:如何将std::vector支持添加到`Binder::bind`
- 如何仅为一个函数添加延迟
- 如何防止 c++ 在从浮点型转换为双精度型(不适用于 IO)时添加额外的小数?
- 使用std::transform将一个范围的元素添加到另一个范围中
- 如何将更多文件夹添加到c++include路径
- 如何将元素添加到数组的线程安全函数?
- QT通过C++添加映射QML项目
- 如何将点击的信号和插槽添加到qt中的自定义按钮中
- 使用VerQueryValue检索应用程序的文件描述
- 如何使用重载的相等(==)运算符向测试用例添加描述
- 为什么Mat类的两个对象可以在不重载运算符+的情况下添加
- 如何在动态创建的CMFCToolbar的工具提示中添加描述?
- 将文件描述符添加到EPOLL,将事件设置为零是有效的
- epoll或kqueue是否可以处理向其自身异步添加文件描述符
- 向多个自定义c++ BLE GATT服务添加特征用户描述
- 向自定义c++ BLE GATT服务添加特征用户描述
- 如何添加描述来提升::p rogram_options的位置选项?
- Boost::program_options:如何添加程序描述文本