小弟刚接触VC,请问CToolBar与CToolBarCtrl两个类有什么区别吗??

解决方案 »

  1.   

    CToolBarCtrl 和CStatusBar由于它们只是简单地封装了API而没有增加附加的功能,所以由它们所创建的工具栏和
    状态栏不会比API版本增加更多的功能。它们也不能移动或被用户停靠或者垂直对齐。它们仅
    能用于在控制条内更方便地设置并控制按钮和窗格,所以,为了得到这些所希望的功能就必
    须创建自己的控制条,这就要用到另外两个MFC类: CToolBar和CStatusBar。用CToolBar 创建工具栏已经是一件很容易的事,而且不需要考虑r e c t参数。但最大的方便
    还在于装载位图和定义按钮的时候:
    tb.LoadToolBar(UINT id);
    此时不用编程定义位图和每个按钮,使用Toolbar Editor创建一个将要引用的资源即可。
    LoadToolBar使用这些类不仅使装载和配置控制条变得更容易,而且还可以得到下列增强的功能:使用CToolBar类,工具栏中使用的位图的颜色自动地随当前按钮颜色而变化。淡灰色
    是标准的Windows按钮表面色,但是,如果用户确定为自己的桌面选定一种新的色彩方案(例
    如淡紫红色),那么如果工具栏仍保持淡灰色,按钮看起来就好像偏离了本来的位置。因此,
    CToolBar将它们转变成当前的按钮颜色,按照C + + 的继承思想,可以认为CToolBar 和CStausBar类是从CToolBarCtrl和
    CStatusBarCtrl派生的,因此可以得到这两者的功能。祝你成功!
      

  2.   

    ficher(小鱼儿) 讲得很深入呀:-)