第一種方法。 .h 文件 CSliderCtrl m_Slider; .cpp
BEGIN_MESSAGE_MAP(CCToolTipDlg, CDialog)
ON_NOTIFY_EX(TTN_NEEDTEXT,0,OnToolTipNotify) //添加消息
END_MESSAGE_MAP()
OnInitDialog() { m_Slider.SetRange(0,100); m_tooltip.AddTool(GetDlgItem(IDC_SLIDER1), LPSTR_TEXTCALLBACK); //注釋:紅色表示tip內(nèi)容可以動態(tài)改變?。?/span> }
PreTranslateMessage(MSG* pMsg) { m_tooltip.RelayEvent(pMsg); }
OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar) //響應(yīng)滑塊拖動跟新 { CSliderCtrl* pSlider=(CSliderCtrl*)pScrollBar; m_tooltip.Update();//更新tip } CDialog::OnHScroll(nSBCode, nPos, pScrollBar); }
BOOL CCToolTipDlg::OnToolTipNotify(UINT id,NMHDR *pNMHDR,LRESULT *pResult) 第二種方法。 .h 文件 CSliderCtrl m_Slider; afx_msg void OnNMCustomdrawSlider1(NMHDR *pNMHDR, LRESULT *pResult); //響應(yīng)slider的自繪消息 .cpp BEGIN_MESSAGE_MAP(CCToolTipDlg, CDialog)
ON_NOTIFY(NM_CUSTOMDRAW, IDC_SLIDER1, &CCToolTipDlg::OnNMCustomdrawSlider1) //添加消息
END_MESSAGE_MAP()
BOOL CCToolTipDlg::OnInitDialog } PreTranslateMessage(MSG* pMsg) { m_tooltip.RelayEvent(pMsg); }
OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar) //響應(yīng)滑塊拖動跟新 { CSliderCtrl* pSlider=(CSliderCtrl*)pScrollBar; m_tooltip.Update();//更新tip }
OnCustomdrawSlider(NMHDR* pNMHDR, LRESULT* pResult) 到此這兩種方法都是可以實(shí)現(xiàn)。。拖動滑塊并動態(tài)顯示tip。。大家可以看暴風(fēng)影音的聲音控制滑塊就明白了,這個是一樣的效果。。
大家有疑問可以留言~~歡迎交流??! CDialog::OnHScroll(nSBCode, nPos, pScrollBar); } |
|