微信公众号 
图码生活

每天发布有五花八门的文章,各种有趣的知识等,期待您的订阅与参与
电脑报 1992-2001 十年文章全集
电脑报 1992-2001 十年文章全集
包含从 1992 年 - 2001 年间,两万余篇期刊文章,查询最少输入两个字符
随便看看
读取中
读取中
标题为VC对话框添加工具条
栏目软件世界
作者孟学桢
发布2000年第4期
  对于基于对话框的应用程序,MFC AppWizard还没有对工具条的支持,但可以通过使用CToolBar类来构造生成工具条,我们下面介绍如何为对话框程序添加工具条。
  用MFC AppWizard(EXE)生成一个基于对话框的应用程序,接受其默认设置,取名为demodialog。
  给应用程序添加一个Toolbar的名称为IDR_TOOLBAR1的工具条资源,名称分别如下:
  ID_NEW //生成新的程序等
  ID_FILE_OPEN //打开文件
  ID_FILE_SAVE //保存文件
  ID_EXIT //退出程序
  然后在对话框的头文件中添加如下的成员变量:
  CToolBar m_wndToolBar;
  在resoure编辑框中编辑这些toolbar资源,设置好大小和彼此的距离,添加工具条前,需要初始化工具条,添加如下所示的代码到demodialog.cpp的OnInitDialog()函数中。
  如果要使工具条是平面浮动的,可以添加如下的代码到对话框初始化函数中。
  ……
  if(!m_wndToolBar.CreateEx(this,TBSTYLE_FLAT,WS_CHILD|WS_VISIBLE|CBRS_TOP|CBRS_GRIPPER|CBRS_TOOLTIPS|CBRS_FLYBY|CBRS_SIZE_DYNAMIC)||!m_wndToolBar.LoadToolBar(IDR_TOOLBAR1))
  {
  TRACE0("创建工具条失败\n");
  return -1;//不能创建,返回报-1
  }RepositionBar
  s(AFX_IDW_CONTROLBAR_FIRST,AFX_IDW_CONTROLBAR_LAST,0);//定位工具条
  ……
  如果要使工具条是立体静态的,添加如下的代码到对话框初始化函数中。
  ……
  if(!m_wndToolBar.Create(this)||!m_wndToolBar.LoadToolBar(IDR_TOOLBAR1))
  {
  TRACE("创建工具条失败\n");
  return -1;//不能创建,返回
  }RepositionBars(AFX_IDW_CONTROLBAR_FIRST,AFX_IDW_CONTROLBAR_LAST,0);//定位工具条
  ……
  编译生成的程序,就实现了对话框的工具条,如果需要添加另外的对话框的工具条代码实现,用ClassWizard为工具条添加消息映射即可。