工具提示除了针对工具栏按钮的杰出功能外,还有解释程序清单视图上各种控件的作用。无疑,这是增强用户接口质量的一种途径,而且不是很复杂,步骤如下:
第一步:使用ClassWizard为程序清单视图的每个控件增加一个“控件”类型的成员变量。
第二步:在程序清单视图类中手工增加一个CToolTipCtrl类型的成员变量。
CToolTipCtrl m_ToolTip; // Tooltip control
第三步:使用ClassWizard在程序清单视图类中增加PreTranslateMessage()的一个重载,并且实现如下:
BOOL CDrawFormView::PreTranslateMessage(MSG* pMsg)
{
// 工具提示控件的转播事件
m_ToolTip.RelayEvent( pMsg );
return CFormView::PreTranslateMessage(pMsg);
}
第四步:使用ClassWizard在程序清单视图类中增加OnInitialUpdate() 函数的重载,并且实现如下:
void CDrawFormView::OnInitialUpdate()
{
CFormView::OnInitialUpdate();
// 1 - 创建工具提示控件
if( !m_ToolTip.Create( this ) )
{
TRACE0( "Unable to create ToolTip control/n" );
return;
}
// 2 - 在工具提示中增加 程序清单视图 控件
m_ToolTip.AddTool( &m_edtX, “在此增加提示文本......” );
m_ToolTip.AddTool( &m_edtY, IDS_TT_Y );//使用Resource Editor定义工具提示控件将要显示的 程序清单视图 的每个控件的字符串资源
// 3 - 激活工具提示
m_ToolTip.Activate( true );
}
编码结束......
如果希望关闭工具提示,则简单的使用下面的调用:
m_ToolTip.Activate( false );