WEB开发网
开发学院软件开发VC VC制作类似于IE4的酷工具条 阅读

VC制作类似于IE4的酷工具条

 2008-09-25 19:27:05 来源:WEB开发网   
核心提示: 到此,运行程序,VC制作类似于IE4的酷工具条(2),已经可以看到一个类似IE4.0的程序出来了,但是下拉式图标按钮并没有显示出下拉菜单,这里只对内容改变的消息进行处理,若要添加别的处理,也没有对输入框进行消息响应,继续修改程序如下:5.制作菜单IDR_PRINT_POPUP6.在Main

到此,运行程序,已经可以看到一个类似IE4.0的程序出来了。但是下拉式图标按钮并没有显示出下拉菜单,也没有对输入框进行消息响应。继续修改程序如下:

5.  制作菜单IDR_PRINT_POPUP

6.  在MainFrame.h加入

  afx_msg void OnDropDown(NMHDR* pNotifyStruct, LRESULT* pResult);

在MainFrame.cpp中的MESSAGE_MAP加入消息映射

  ON_NOTIFY(TBN_DROPDOWN, AFX_IDW_TOOLBAR, OnDropDown)

和处理函数体:

void CMainFrame::OnDropDown(NMHDR* pNotifyStruct, LRESULT* pResult)
{
  // this function handles the dropdown menus from the toolbar
  NMTOOLBAR* pNMToolBar = (NMTOOLBAR*)pNotifyStruct;
  CRect rect;
  // translate the current toolbar item rectangle into screen coordinates
  // so that we´ll know where to pop up the menu
  m_wndToolBar.GetToolBarCtrl().GetRect(pNMToolBar->iItem, &rect);
  rect.top = rect.bottom;
  ::ClientToScreen(pNMToolBar->hdr.hwndFrom, &rect.TopLeft());
  if(pNMToolBar->iItem == ID_FILE_PRINT_SETUP)
  {
    CMenu menu;
    CMenu* pPopup;
    // the font popup is stored in a resource
    menu.LoadMenu(IDR_PRINT_POPUP);
    pPopup = menu.GetSubMenu(0);
    pPopup->TrackPopupMenu(TPM_LEFTALIGN ¦ TPM_LEFTBUTTON, rect.left, rect.top + 1, AfxGetMainWnd());
  }
  *pResult = TBDDRET_DEFAULT;
}

7.  处理对Combox的响应,这里只对内容改变的消息进行处理,若要添加别的处理,参看Combo Box Handlers的消息映射。

在MainFrame.h中加入  afx_msg void OnNewAddress();

在MainFrame.cpp中的MESSAGE_MAP中加入消息映射

  ON_CBN_SELENDOK(AFX_IDW_TOOLBAR + 1,OnNewAddress)

同时加入函数体

void CMainFrame::OnNewAddress()
{
  CString str;
  ShellExecute(NULL,"OPEN" ,"http://jonson.126.com",NULL,NULL,SW_SHOW);
}

上一页  1 2 

Tags:VC 制作 类似

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接