我用CDialogBar生成一个新的工具栏,遇到了一系列的问题,恳求各位高手解答
1.CDialogBar的派生类的问题.我看过一些文章,他们都是说先创建DialogBar资源,然后从CDialog派生,然后再把CDialog改为CDialogBar,可我认为好像不行,因为VC的工程已经任务这个类是从CDialog继承来的,所以用ClassView添加成员时添加的都是CDialog的成员,而且CDialog并不是CDialogBar的父类,两者的差距大着呢.我还看过一篇文章说先从CWnd继承,再改为CDialogBar,我认为还有些道理,毕竟CWnd时CDialogBar的父类,可是再怎么往下做就不知道了.
2.我在CMainFram里OnCreate成员中Create了CDialogBar类,可是这只能创建了对话框的框架,当中的控件好像还没创建,因为我得到的这些控件的指针都是空的,总不能这儿也调用控件的Create函数挨个创建吧?请教各位高手改如何处理.

解决方案 »

  1.   

    要用CDialogBar生成一个新的工具栏,首先创建对话框资源,选择插入,再选择Dialog中的IDD_DIALOGBAR,然后从CDialog派生后,在代码中将其父类改为CDialogBar即可。
      

  2.   

    step1: 创建一个SDI工程
    step2:project->Add to project->Components and controls->Visual C++ Components
          选择Dialog Bar,按Insert
    step3:资源管理器中多了一个缺省名为CG_IDD_MYDIALOGBAR的对话框资源在上面添加
          你想使用的控件(IDC_BUTTON1,一个按钮。按Ctrl+W,提示你需要将资源和类绑定,选择已   有的类,把它绑定到CMainFrame.
    step4:在ClassWizard的object ID列表框中出现“IDC_BUTTON1",选中它,在ClassName
    列表中选择CMainFrame,添加消息处理函数:
    void CMainFrame::OnButton1() 
    {
    MessageBox("Hellow World!");
    }
    step5:菜单资源的"查看“下面加入一个ID为CG_ID_VIEW_MYDIALOGBAR,caption为
    My Dialog Bar的项,用来控制DialogBar的显示、隐藏
      

  3.   

    用DialogBar添加按钮当然很简单,问题是添加Edit控件/Combo Box控件如何操作,请高手指点.
      

  4.   

    一般不提倡重载CDialogBar来做一个DialogBar,直接用Create生成,在CMainFrm里手工加入消息处理函数就行了