Chinaunix首页 | 论坛 | 博客
  • 博客访问: 5873108
  • 博文数量: 671
  • 博客积分: 10010
  • 博客等级: 上将
  • 技术积分: 7310
  • 用 户 组: 普通用户
  • 注册时间: 2006-07-14 09:56
文章分类

全部博文(671)

文章存档

2011年(1)

2010年(2)

2009年(24)

2008年(271)

2007年(319)

2006年(54)

我的朋友

分类: C/C++

2008-08-29 14:00:03

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(){}//消息处理函数

阅读(968) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~