VC对话框添加工具栏

来源:互联网 发布:纯js分页代码 编辑:程序博客网 时间:2024/05/19 20:48
在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;  }



原创粉丝点击