VC對話框添加工具欄
阿新 • • 發佈:2017-09-25
vc 工具欄 mfc
在VC對話框中添加工具欄,要分為如下幾步操作。
1、在資源視圖中添加toolbar類資源,在工具欄上添加按鈕,並命名ID:ID_BTN1,ID_BTN2
2、對話框頭文件中,添加變量CToolBar m_ToolBar;
3、在對話框的OnInitDialogh函數中添加如下代碼:
// TODO: 在此添加額外的初始化代碼 if( !m_ToolBar.CreateEx(this, TBSTYLE_FLAT, WS_CHILD | WS_VISIBLE | CBRS_ALIGN_TOP | CBRS_GRIPPER | CBRS_TOOLTIPS ) || !m_ToolBar.LoadToolBar(IDR_TOOLBAR1)) { TRACE0("未能創建工具欄\n"); AfxMessageBox(_T("未能創建工具欄\n")); return FALSE; // 未能創建 } m_ToolBar.ShowWindow(SW_SHOW); //控件條定位 RepositionBars(AFX_IDW_CONTROLBAR_FIRST,AFX_IDW_CONTROLBAR_LAST,0);
4、添加提示消息汽泡
添加反射消息:ON_NOTIFY_EX_RANGE(TTN_NEEDTEXT, 0, 0xffff, OnToolTipText)
頭文件中添加消息函數聲明:
afx_msg BOOL OnToolTipText(UINT, NMHDR* pNMHDR, LRESULT* pResult);//汽泡提示
在CPP文件中添加函數如下:
BOOL CTestDLLDlg::OnToolTipText(UINT, NMHDR* pNMHDR, LRESULT* pResult) { TOOLTIPTEXT *pTTT=(TOOLTIPTEXT*)pNMHDR; UINT uID=pNMHDR->idFrom; // 相當於原WM_COMMAND傳遞方式的LOWORD(wParam), //在wParam中放的則是控件的ID。 if(pTTT->uFlags & TTF_ABSOLUTE) uID=::GetDlgCtrlID((HWND)uID); if(uID==NULL) return FALSE; switch(uID) { case ID_BTN1: pTTT->lpszText= _T("OK"); break; case ID_BTN2: pTTT->lpszText= _T("hello"); break; } return TRUE; }
VC對話框添加工具欄