在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; }
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。