如何在vc5中控制工具条的停靠位置 

如何在vc5中控制工具条的停靠位置 

ID:24721646

大小:80.12 KB

页数:3页

时间:2018-11-14

如何在vc5中控制工具条的停靠位置 _第1页
如何在vc5中控制工具条的停靠位置 _第2页
如何在vc5中控制工具条的停靠位置 _第3页
资源描述:

《如何在vc5中控制工具条的停靠位置 》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、如何在VC5中控制工具条的停靠位置一、标准工具条停靠位置的控制VC5应用程序向导生成的框架代码中,都具有普通工具条的控制方法。正常情况卜工具条类CToolBar是控制条类CControlBar的派生类,其显示的初始停靠位罝是通过调用继承的函数CControlBar::EnableDocking(DWORDdwStyle)来确定的,其参数dwStyle用来指定停靠具体位置,与本文有关的风格如下(其余请参阅VC5的联机文档):CBRS_ALIGN_T0P停靠在框架窗口客户区域顶部CBRS_ALIGN_B

2、OTTOM停靠在框架窗U客户区域底部CBRS_ALTGN_LRFT停靠在框架窗口客户区域左边CBRS_ALIGNJUG11T停靠在框架窗门客户区域右边CBRS_ALiGN_ANY停靠在框架窗口客户区域任何位置在利i应用程序向导AppWizard生成的应用程序中,其控制代码默认的停靠位置控制风格为CBRS_AIJGN_ANY,即允许停靠在框架窗口客户区域的任何边上。工具条在正常显示时为停靠在窗门客户区域的顶部,控制指令为EnableDocking(CBRS_ALiGN_ANY)或111_评11€1丁0

3、011331'。EnableDocking(CBRS_ALIGN_ANY),注意,&实际程序控制时前者必须处于所有其它控制代码的前面,否则浮动工具条或特殊工具条等部分代码可能无法奏效。具体控制方法请参考利用应用程序向导生成的任何一个程序实例的框架代码部分中的建立函数ONCREATE0。应用程序的单文档和多文档的窗UI框架类均为CFrameWnd的派生类,其指定工具条的停靠位置均是通过调用继承的函数CFramcWnd::EnablcDocking(DWORDdwDockStyle)来实现的,其可选的参

4、数除上述五种之外,还增加了CBRS_FLOAT_MULTI参数,这个参数主要是为设计浮动工具条而增加的,其用来石角定一个框架窗n屮允许存在多个浮动工具条。同样,利用应用程序向导AppWizard生成的应用程序,其默认的停靠位置也是CBRS_AL1GN_ANY,即允许工具条停靠在框架窗UI的任何边上,其默认的初始位置为框架窗UI的顶部,即为EnableDocking(CBRS_ALIGN_ANY)或mwndToolBar.EnableDocking(CBRS_ALIGN_ANY)o二、浮动工具条停靠位

5、罝的控制如果在一个框架窗UI中存在多个标准或浮动工具条时,需要利用函数voidDockControlBar(CControlBar★pBar,UlNTnDockBariD=0,LPCRECTlpRect=NULL)来确定要控制停靠位置的工具条,它也是CFrameWnd类的成员函数,其中参数pBar用来指向被控制停靠位置的工具条对象指针,参数nDockBarlD用来确定工具条停靠在框架窗口的哪条边上,其控制风格的具体取值为:AFX_IDWJ)0CKBAR_T0P停靠在框架窗UI的顶部AFX_TDW_D

6、OCKBAR_B0TT0M停靠在框架窗口的底部AFX_IDW_DOCKBAR_LEFT停靠在框架窗门的左边AEX_1DW_DOCKBAR_RiGHT停靠在框架窗口的右边当参数nDockBarlD的取值为0时,则工具条可以停靠在框架窗口中的任何个可停靠的边上,其默认的初始位置为窗口顶部。三、并列工具条停靠位置的控制很多大型应用程序中都存在这样的工具条,将多个工具条同时并列停靠在某窗口的某一条边上。对于这种停靠方法,利用上述工具条控制函数DockControlBar的IpRect参数,通过控制工具条的停

7、靠矩形区域的方法可以实现。如笔者实现的函数如下:(一)在实现文件MainFrm.h中增加如下成员函数定义voidDockControlBarLeftOf(CToolBarBar,CToolBar^LeftOf);(二)在实现文件MainFrm.cpp中增加如下成员函数voidCMainFrame::DockControlBarLcftOf(CToolBarBar,CToolBar女LeftOf){//设罝工具条并列停靠在同一条边上Crectrect;//矩形区域定义DWORDdw;UINTn=0;R

8、ecalcLayout();//重新显示LeftOf—>GetWindowRect(&rect);rect.OffsetRect(l,0);//设置偏移值以停靠在同一边上dw=LeftOf—>GetBarStyleO;n=(dw&CBRS_ALIGN_T0P)?AFX_IDW_DOCKBAR_T0P:n;n=(dw&CBRSALIGNBOTTOM&&n==0)?AEXiDWDOCKBARBOTTOM:n;n=(dw&CBRS_ALIGN_LEFT&&n==0)?AFX

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。