二级考试:VC中如何创建多个工具条计算机二级考试

文章作者 100test 发表时间 2009:06:15 14:58:41
来源 100Test.Com百考试题网


  在实际的软件开发中,我们常常需要创建多个自定义的工具条,并且要象标准的工具条那样,允许用户通过鼠标将自定义的工具条移动到框架的其它地方,还可以根据需要显示或是隐藏该工具条。通过实践,我们在Visual C 6.0中编程实现了创建自定义的工具条,从而在应用程序中可并存多个工具条。
  1. 在Visual C 6.0中用AppWizard以默认方式创建SDI或MDI的应用程序工程,工程名称为MyBars。
  2. 在ResourceView中选择“Toolbar”并点击右键,通过选择 “Insert Toolbar”新建一工具条,其ID值设为ID_MYTOOLBAR。在该工具条上添加两个位图按钮,并双击每个位图按钮,设置其ID值分别为ID_MYTOOLBAR_CIRCLE和ID_MYTOOLBAR_RECT。
  3. 在MainFrame.h文件中CMainFrame类定义的前面定义一个映射工具条按钮图像和程序命令ID 的数组,这是一个UINT类型的数组:
  static UINT BASED_CODE My_Buttons[]=
  { // 要和工具条中位图的次序一样
  ID_TOOLBAR_CIRCLE,
  ID_TOOLBAR_RECT}.
  4. 在CMainFrame类中添加一工具条对象指针m_pMyToolBar:
  class CMainFrame : public CFrameWnd
  {……
  protected:
  CStatusBar m_wndStatusBar.
  CToolBar  m_wndToolBar.
  CToolBar m_pMyToolBar.
  // 新添加的工具条对象指针
  ……}
  5.在CMainFrame::OnCreate函数中添加代码创建和初始化工具条,并建立所需的连接关系,代码如下:
  int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
  {   ……
  // 创建和初始化工具条对象
  m_pMyToolBar=new CToolBar().
  m_pMyToolBar-〉Create(this, WS_CHILD|WS_VISIBLE|CBRS_TOP, 0x9100).
  // 将按钮图象和工具条对象连接起来
  m_pMyToolBar-〉LoadBitmap(IDR_MYTOOLBAR).
  // 将映射数组My_Buttons和工具条对象连接起来
  m_pMyToolBar-〉SetButtons(My_Buttons, sizeof(My_Buttons)/sizeof(UINT)).
  // 允许用户通过鼠标将工具条移动到框架的其它地方
  m_pMyToolBar-〉EnableDocking(CBRS_ALIGN_ANY).
  EnableDocking(CBRS_ALIGN_ANY).
  DockControlBar(m_pMyToolBar).
  return 0. }
  6. 通过View-〉ClassWizard为工具条的按钮ID值添加消息响应处理函数,例如为ID_TOOLBAR_CIRCLE添加的处理函数如下所示:
  void CMainFrame::OnToolbarCircle()
  {   AfxMessageBox("Circle"). // 可改为具体的有关代码}
  这样,我们就创建了一个新的工具条,上面有两个按钮,点击按钮将会执行有关的操作,并且用户还可以将工具条任意拖动到框架的其它地方。
  工具条建立之后,就被连接到应用程序的框架窗口上,我们一般还要允许用户根据需要显示或隐藏该工具条。下面的代码就可实现这种要求:
  int nShow=SW_SHOWNORMAL. // 想要隐藏则设置为SW_HIDE
  m_pMyToolBar-〉ShowWindow(nShow). // 显示或隐藏工具条
  RecalcLayout(). // 通知框架窗口, 重新计算工具条的位置
  以上的程序在Visual C 6.0中调试通过。
2009年NCRE考试有新变化
2009年全国计算机等级考试-大纲
2009年上半年全国计算机等级考试报名信息汇总


相关文章


C语言辅导:不定参数在C语言中的应用实例计算机二级考试
C语言辅导:三种常见中文内码的转换方法计算机二级考试
C语言辅导:用vc设计系统援救程序计算机二级考试
二级考试C辅导:用VC设计托盘图标程序计算机二级考试
二级考试:VC中如何创建多个工具条计算机二级考试
关键数据结构之数据流向计算机二级考试
0delete释放空间时出错的原因计算机二级考试
C_C 指令#undef,#ifdef,#ifndef,#if的用法计算机二级考试
计算机二级C技巧:c语言中的volatile关键字计算机二级考试
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛