我爱Aspx >> VC.Net >> <b>VC++环境下浮动工具条的编程</b>许多程序员都希望自己的程序能更象商业化程序,特别是希望自己的程序工具 条能够象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,
【我对这篇文章有话说?】
<b>谈VC++中的Progress控件..[05-21]
<b>如何创建一个不规则形状..[05-21]
<b>MFC窗口位置管理详细分..[05-21]
<b>得到托盘区位置与动态显..[05-21]
<b>自己动手制作一款简洁实..[05-21]
<b>在ActiveX控件中如何动..[05-21]
<b>一个简单的学生成绩管理..[05-21]
<b>如何用非对称密码算法制..[05-21]
<b>有关注册表API函数<..[05-21]
<b>用VC++6.0的Sockets AP..[05-21]