我创建了一个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,但是上面显示的这段代码可以,但对我来说不起作用。
感谢您的帮助!