程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> MFC 學習之 鼠標移動到Toolbar按鈕上顯示提示信息(tooltip),狀態欄也隨之改變

MFC 學習之 鼠標移動到Toolbar按鈕上顯示提示信息(tooltip),狀態欄也隨之改變

編輯:C++入門知識

1.在ResourceView裡加入Toolbar資源,命名IDR_TOOLBAR1
2、在主程序的.h文件中加入變量:
          CToolBar m_toolbar;CImageList img;
3、在主程序中.h文件中的BEGIN_MESSAGE_MAP(CDetectorDlg,CDialog)函數中加入:
        ON_NOTIFY_EX( TTN_NEEDTEXT,0,OnToolTipText)

BOOL CDormDlg::OnToolTipText(UINT, NMHDR *pTTTStruct, LRESULT *pResult)
{
    ASSERT(pTTTStruct->code == TTN_NEEDTEXTA || pTTTStruct->code == TTN_NEEDTEXTW);
    
    
    TOOLTIPTEXTA *pTTA=(TOOLTIPTEXT*)pTTTStruct;
    TOOLTIPTEXTW *pTTW=(TOOLTIPTEXTW*)pTTTStruct;
 
    CString strTipText,strStatus;
    UINT nID = pTTTStruct->idFrom;     
    
    (pTTTStruct->code == TTN_NEEDTEXTA &&(pTTA->uFlags & TTF_IDISHWND) ||
        pTTTStruct->code ==TTN_NEEDTEXTW &&(pTTW->uFlags & TTF_IDISHWND))
    {
        
        nID = ::GetDlgCtrlID((HWND)nID);
        
    }
 
    (nID != 0)
    {
    
        strTipText.LoadString(nID);
        strTipText = strTipText.Mid(strTipText.Find(_T(),0)+1);
        
 _UNICODE
         (pTTTStruct->code == TTN_NEEDTEXTA)
        {
            lstrcpyn(pTTA->szText,strTipText,(pTTA->szText));    
            
            m_bar.SetPaneText(0,pTTA->szText);
        } 
        
        {            
            _mbstowcsz(pTTW->szText,strTipText,(pTTW->szText));
            
        }


        (pTTTStruct->code == TTN_NEEDTEXTA)
        {
            _wcstombsz(pTTA->szText,strTipText,(pTTA->szText))    ;
            m_bar.SetPaneText(0,pTTA->szText);
        }
        
        {
            lstrcpyn(pTTW->szText,strTipText,(pTTW->szText));
            m_bar.SetPaneText(0,);
        }
 


        *pResult = 0;
        ::SetWindowPos(pTTTStruct->hwndFrom,HWND_TOP,0,0,0,0,SWP_NOACTIVATE |
            SWP_NOSIZE |SWP_NOMOVE |SWP_NOOWNERZORDER);
        
         ;
    }
    
     ;
}

 

6.在ResourceView的String資源裡,將工具欄中每個按鈕的ID都對應上希望顯示的提示信息即可

3
7、效果圖4

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved