VC中实现按钮提示,使用CToolTipCtrl2007年01月23日 星期二 20:09如果你需要对对话框上的一个按钮进行鼠标停靠提示,那么这么做:
1. 在这个对话框的定义部分添加黑体部分:
class CMyDlg : public CDialog
{
……
CToolTipCtrl m_tt;
……
}
2. 在这个对话框的OnInitDialog()函数里,添加黑体部分:
BOOL CMyDlg::OnInitDialog()
{
……
EnableToolTips(TRUE);
m_tt.Create(this);
m_tt.Activate(TRUE);
m_tt.AddTool(GetDlgItem(IDC_BUTTON1),"这是一个按钮");
//IDC_BUTTON1是需要进行提示的按钮的ID值,这个函数的原型是
BOOL AddTool( CWnd* pWnd, LPCTSTR lpszText = LPSTR_TEXTCALLBACK, LPCRECT lpRectTool = NULL, UINT_PTR nIDTool = 0 );
m_tt.SetTipTextColor(RGB(0,0,255)); //提示文字颜色,非必需
m_tt.SetDelayTime(150); //出现提示前的延迟时间,非必需
}
3.重载对话框的PreTranslateMessage(MSG* pMsg)函数,添加黑体部分:
BOOL CMyDlg::PreTranslateMessage(MSG* pMsg)
{
m_tt.RelayEvent(pMsg);
return CDialog::PreTranslateMessage(pMsg);