• 您的位置我爱Aspx >> VC.Net >> <b>VC++环境下浮动工具条的编程</b>
  • <b>VC++环境下浮动工具条的编程</b>

  • 作者:aspxer  来源:internet  日期:2007-5-21 23:13:25  关键字:
  • VC++环境下浮动工具条的编程

    许多程序员都希望自己的程序能更象商业化程序,特别是希望自己的程序工具 条能够象WINDOWS95下的OFFICES一样具有浮动效果。针对VISUALC++编程环境, 以下分别介绍了两种产生浮动工具条的方法。各有其优点和不足,可供程序员选择。

    第一种方法

    该方法最为简单,利用VC中的工具条的系统未公布的隐含参数 TBSTYLE_FLAT,不需更改原由程序只要在程序中添加4条语句即可实现浮动效果。 不过该方法只能产生简单的浮动工具条,而且没有象OFFICES中工具条右侧的拖 动条gripper。而且该方法在VC50下存在严重的缺陷,当拖动工具条时,系统不 能对工具条进行刷新,因此会产生移动工具条到新位置时,原处仍有工具条。主 要是负责工具条的动态连接库COMCTL32.DLL的BUG。该问题在VC60中由于更新了 该动态连接库而得以解决。程序员如果使用的是VC5版可以用新的版本COMCTL32.DLL (4.72版以上)替换该动态连接库来解决。

    具体方法如下:

    int CMainFrame::OnCreate

    (LPCREATESTRUCT lpCreateStruct)

    {

    ...

    m_wndToolBar.SetBarStyle

    (m_wndToolBar.GetBarStyle() |

    CBRS_TOOLTIPS | CBRS_FLYBY |

    CBRS_SIZE_DYNAMIC|TBSTYLE_FLAT);

    //添加以下4句语句,产生浮动效果

    LONG lStyle;

    lStyle=GetWindowLong

    (m_wndToolBar,GWL_STYLE);

    lStyle=lStyle|TBSTYLE_FLAT;

    SetWindowLong(m_wndToolBar,

    我对这篇文章有话说?
  • 广告位招租,广告代号:content_468_15
  • 上一篇:<b>为CListBox加上智能水平滚动条</b>
    下一篇:<b>谈VC++中的Progress控件的使用</b>
  • 相关文章