龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 软件开发 > VC开发 >

用Visual C++实现窗口的工具提示(3)

时间:2009-12-30 15:42来源:未知 作者:admin 点击:
分享到:
上面的风格位TTS_ALWAYSTIP表示,不论控件所属的主窗口是否活动,工具提示始终有效。 最后,在CMainFrame::PreTranslateMessage()方法中加入如下代码: BOOL CMainF

上面的风格位TTS_ALWAYSTIP表示,不论控件所属的主窗口是否活动,工具提示始终有效。

最后,在CMainFrame::PreTranslateMessage()方法中加入如下代码:

BOOL CMainFrame::PreTranslateMessage(MSG* pMsg)

{

// TODO: Add your specialized code here and/or call the base class

m_ToolTip.RelayEvent(pMsg);

return CFrameWnd::PreTranslateMessage(pMsg);

}

这样,就可以将鼠标移动的消息传给工具提示控件,并作出相应的处理。

2.2.1为窗口标题条提供工具提示

为了给标题条提供工具提示,可以在CMainFrame::OnCreate()方法中加入如下语句:

CString title;

GetWindowText(title);

m_ToolTip.AddTool(this,(LPCTSTR)title);

这样,当鼠标移到窗口的标题条或菜单条上时,将会出现工具提示,内容是该窗口的标题。

2.2.2为工具条提供工具提示

工具条一般位于菜单条的下面,由多个小的位图按钮组成,通常作为菜单命令的快捷方式来使用,它上面的位图一般非常直观,如果和工具提示一起使用则更便于用户的使用。为工具条创建工具提示的步骤如下:

(1)用Visual C++ 4.0中的工具条编辑器创建工具条时,在每个按钮的属性对话框中分别加入状态行文本和工具按钮的提示文本。例如创建一个打开文件的工具条按钮时,在提示栏中输入Opens an existing document Open,那么,当鼠标放在该按钮上时,将出现“Open”的工具提示,并且在状态行中出现Opens an existing document的文字。

(2)在CMainFrame类中加入一个工具条对象:

CToolBar m_wndToolBar;

然后在CMainFrame::OnCreate方法中用如下方式创建工具条控件: if(!m_wndToolBar.Create(this,WS_VISIBLE|CBRS_FLYBY| CBRS_TOOLTIPS|CBRS_TOP)||!m_wndToolBar.LoadToolBar(IDR_TOOLB AR1))

{ TRACE0("Failed to create tool bar ");

return -1;

}

精彩图集

赞助商链接