您现在的位置是:首页 >

vc编程培训 VC++环境下浮动工具条的编程

火烧 2022-12-24 10:22:29 1062
VC++环境下浮动工具条的编程 许多程序员都希望自己的程序能更象商业化程序 特别是希望自己的程序工具 条能够象WINDOWS 下的OFFICES一样具有浮动效果 针对VISUALC++编程环境 以下分
vc编程培训 VC++环境下浮动工具条的编程

VC++环境下浮动工具条的编程  

    许多程序员都希望自己的程序能更象商业化程序 特别是希望自己的程序工具 条能够象WINDOWS 下的OFFICES一样具有浮动效果 针对VISUALC++编程环境 以下分别介绍了两种产生浮动工具条的方法 各有其优点和不足 可供程序员选择   第一种方法     该方法最为简单 利用VC中的工具条的系统未公布的隐含参数 TBSTYLE_FLAT 不需更改原由程序只要在程序中添加 条语句即可实现浮动效果 不过该方法只能产生简单的浮动工具条 而且没有象OFFICES中工具条右侧的拖 动条gripper 而且该方法在VC 下存在严重的缺陷 当拖动工具条时 系统不 能对工具条进行刷新 因此会产生移动工具条到新位置时 原处仍有工具条 主 要是负责工具条的动态连接库CTL DLL的BUG 该问题在VC 中由于更新了 该动态连接库而得以解决 程序员如果使用的是VC 版可以用新的版本CTL DLL ( 版以上)替换该动态连接库来解决   具体方法如下   int CMainFrame::OnCreate (LPCREATESTRUCT lpCreateStruct) { m_wndToolBar SetBarStyle (m_wndToolBar GetBarStyle() | CBRS_TOOLTIPS | CBRS_FLYBY |  CBRS_SIZE_DYNAMIC|TBSTYLE_FLAT); //添加以下 句语句 产生浮动效果  LONG lStyle; lStyle=GetWindowLong (m_wndToolBar GWL_STYLE); lStyle=lStyle|TBSTYLE_FLAT; SetWindowLong(m_wndToolBar GWL_STYLE lStyle); m_wndToolBar EnableDocking (CBRS_ALIGN_ANY); } 第二种方法     该方法是对MFC原来的CTOOLBAR类进行继承 主要是重载成员函数 OnWindowPosChanging(LPWINDOWPOS lpWndPos);OnPaint();OnNcPaint();OnNcCalcSize(); 实现浮动工具条 使用本类 只要将以下的程序代码FlatToolBar h和FlatToolBar Cpp 加入项目 并用INCLUDE将FlatToolBar H包含到绘制主窗口的CMainFrame中 然后把你 的原先定义工具条变量的CToolBar类变成 CFlatToolBar类 并在建立工具条后调用 SetFlatLookStyle()函数设置浮动方式 为方便以后其它使用程序 可以在该类 上右击鼠标 选择Add to Gallery将CFlatToolBar类存入类库以便下次使用 lishixinzhi/Article/program/net/201311/13692  
永远跟党走
  • 如果你觉得本站很棒,可以通过扫码支付打赏哦!

    • 微信收款码
    • 支付宝收款码