class CEmisDrawView : public CScrollView { protected: // create from serialization only CEmisDrawView(); DECLARE_DYNCREATE(CEmisDrawView) CToolTipCtrl m_ToolTip; 。 }; int CEmisDrawView::OnCreate(LPCREATESTRUCT lpCreateStruct) { if (CScrollView::OnCreate(lpCreateStruct) == -1) return -1;
CToolTipCtrl
我的QQ是56024285,QQ联系好吗?
{
protected: // create from serialization only
CEmisDrawView();
DECLARE_DYNCREATE(CEmisDrawView)
CToolTipCtrl m_ToolTip;
。
};
int CEmisDrawView::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
if (CScrollView::OnCreate(lpCreateStruct) == -1)
return -1;
m_ToolTip.Create(this,TTS_ALWAYSTIP);
m_ToolTip.AddTool(this,"eMis_Draw");
EnableToolTips(TRUE);
return 0;
}
LRESULT CEmisDrawView::WindowProc(UINT message, WPARAM wParam, LPARAM lParam)
{
if(message == WM_MOUSEMOVE)
{
MSG msg;
msg.hwnd = m_hWnd;
msg.message = message;
msg.wParam = wParam;
msg.lParam = lParam;
m_ToolTip.RelayEvent(&msg);
}
return CScrollView::WindowProc(message, wParam, lParam);
}
BOOL CEmisDrawView::PreTranslateMessage(MSG* pMsg)
{
m_ToolTip.RelayEvent(pMsg);
return CScrollView::PreTranslateMessage(pMsg);
}
m_ToolTip.UpdateTipText(“new string”,this);
我在按右键时调用m_ToolTip.UpdateTipText(“new string”,this);
结果还是出不来。其它部分都一样。
将CVIew当作控件即可
或者在CView放置静态控件,将其扩展到视图一样大小
给静态控件设置文字提示即可
怎么把CView当作控件?在CView中放置控件不行吧,若显示,则显示的始终只有静态控件的工具提示;若隐藏,跟没有静态控件时同样。
感谢xuanzg(小钢娃),只是你的工具提示的创建,还是放在OnInitialUpdate中好,否则必须父窗口创建好后才能创建TIP,而这样得修改原有代码,若不知返回值是什么意义的话,是不好修改的。
感谢kongyunzhongque(云雀),是你的提醒,让我去看把创建代码放在OnInitialUpdate中的效果,结果成功了,多谢!
也谢谢其他几位提点子的朋友。