【发布时间】:2020-03-14 09:58:08
【问题描述】:
我创建了一个 MFC ActiveX 控件,并在其中创建了一个将在 .NET 环境中使用的子对话框。在对话框中,我有一个按钮,当您将鼠标悬停时,我放置了一个工具提示,它应该显示工具提示。出于某种原因,当我在 .NET 环境中使用对话框时,它不起作用。
我创建了一个 MFC 对话框应用程序并执行了相同的操作,它工作正常,但在将它放入 C# .NET 环境时不能通过 ActiveX。
这是我的代码:
MainDialog.h
CToolTipCtrl m_tooltip;
MainDialog.cpp
CButton *PlayButton = (CButton*)GetDlgItem(IDC_PLAY_BUTTON);
m_tooltip.Create(this);
m_tooltip.AddTool(PlayButton, L"Play");
m_tooltip.Activate(TRUE);
BOOL OnWndMsg(UINT message, WPARAM wParam, LPARAM lParam, LRESULT* pResult)
{
MSG msg;
msg.wParam = wParam;
msg.lParam = lParam;
msg.message = message;
msg.hwnd = m_hWnd;
GetCursorPos(&msg.pt);
// Tooltips notification.
FilterToolTipMessage(&msg);
return CWnd::OnWndMsg(message, wParam, lParam, pResult);
}
我第一次使用PreTranslateMessage,但我在http://forum.codejock.com/forum_posts.asp?TID=1361&title=task-panel-tooltips-in-activex-control上阅读
这里它不适用于 MFC,但上面显示的代码可以,但它不适用于我。
感谢任何帮助!
【问题讨论】: