在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"));returnFALSE;//未能创建}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_msgBOOLOnToolTipText(UINT,NMHDR*pNMHDR,LRESULT*pResult);//汽泡提示

在CPP文件中添加函数如下:

BOOLCTestDLLDlg::OnToolTipText(UINT,NMHDR*pNMHDR,LRESULT*pResult){TOOLTIPTEXT*pTTT=(TOOLTIPTEXT*)pNMHDR;UINTuID=pNMHDR->idFrom;//相当于原WM_COMMAND传递方式的LOWORD(wParam),//在wParam中放的则是控件的ID。if(pTTT->uFlags&TTF_ABSOLUTE)uID=::GetDlgCtrlID((HWND)uID);if(uID==NULL)returnFALSE;switch(uID){caseID_BTN1:pTTT->lpszText=_T("OK");break;caseID_BTN2:pTTT->lpszText=_T("hello");break;}returnTRUE;}