为新生成的菜单添加菜单项后在想对话框中添加工具栏,
在主窗体的对话框类中的OnOnitDialog方法中添加动态生产工具栏。
怎么做?
不知道说清楚没有,本人刚接触这个,不会,诚心请教……

解决方案 »

  1.   

    http://hi.baidu.com/xiaoduo170/blog/item/5276e1517adedc2043a75b15.html
      

  2.   

    1、添加工具栏资源ID为IDR_TOOLBAR
    2、在对话框的类定义中加:
    CToolBar m_ToolBar;
    3、在OnInitDialog中或其它合适的消息响应中加如下代码:(函数可查看MSDN)m_ToolBar.Create(this); //创建工具栏
    m_ToolBar.LoadToolBar(IDR_TOOLBAR);//加载工具栏//得出控件条大小.
    CRect rect;
    CRect rectNow;
    GetClientRect(rect);
    RepositionBars(AFX_IDW_CONTROLBAR_FIRST,AFX_IDW_CONTROLBAR_LAST,0,reposQuery,rectNow);//放置控件条位置
    CPoint ptOffset(rectNow.left-rect.left,rectNow.top-rect.top);CRect rcChild;
    CWnd* pwndChild=GetWindow(GW_CHILD);
    while (pwndChild)
    {                               
       pwndChild->GetWindowRect(rcChild);
       ScreenToClient(rcChild);
       rcChild.OffsetRect(ptOffset);
       pwndChild->MoveWindow(rcChild,FALSE);
       pwndChild=pwndChild->GetNextWindow();
    }//调整对话框尺寸
    CRect rcWindow;
    GetWindowRect(rcWindow);
    rcWindow.right+=rect.Width()-rectNow.Width();
    rcWindow.bottom+=rect.Height()-rectNow.Height();
    MoveWindow(rcWindow, FALSE);//控件条定位
    RepositionBars(AFX_IDW_CONTROLBAR_FIRST,AFX_IDW_CONTROLBAR_LAST,0);
      
    //对框居中
    CenterWindow();4、手工添加处理函数
    afx_msg void OnBtnXXX();//消息响应函数声明
    ON_COMMAND(ID_BTN_XXX/*工具按钮ID*/,OnBtnXXX/*函数名*/)//消息映射
             void CXXXDlg::OnBtnXXX(){}//消息处理函数