网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 论文素材 设计下载 最新论文 下载排行 论文上传 在线投稿 联系我们
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > VC++ > 正文
工具条的停靠控制
来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/15
下载{$ArticleTitle}原创论文样式

----在VC5.0中开发大型应用程序时,工具条通常是程序中必不可少的功能因素,在整个窗口的停靠位置尤其关键,它直接影响到程序界面的外观形象。本文介绍各类工具条停靠位置的控制技巧,供参阅。

----标准工具条的停靠控制

----VC5.0应用程序向导生成的框架代码中,都具有普通工具条的控制方法。正常情况下工具条类CToolBar是控制条类CControlBar的派生类,其显示的初始停靠位置是通过调用继承的函数CControlBar::EnableDocking(DWORDdwStyle)来确定的,其参数dwStyle用来指定停靠的具体位置,与本文有关的格式如下(其余请参阅VC5.0的联机文档):

----CBRS-ALIGN-TOP停靠在框架窗口客户区域顶部;

----CBRS-ALIGN-BOTTOM停靠在框架窗口客户区域底部;

----CBRS-ALIGN-LEFT停靠在框架窗口客户区域左边;

----CBRS-ALIGN-RIGHT停靠在框架窗口客户区域右边;

----CBRS-ALIGN-ANY停靠在框架窗口客户区域任何位置。

----在利用应用程序向导AppWizard生成的应用程序中,其控制代码默认的停靠位置为CBRS-ALIGN-ANY,即允许停靠在框架窗口客户区域的任何边上。工具条在正常显示时停靠在窗口客户区域的顶部,控制指令为EnableDocking(CBRS_ALIGN_ANY)或m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY),注意在实际程序控制时前者必须处于所有其他控制代码的前面,否则浮动工具条或特殊工具条等部分代码可能无法奏效。具体控制方法请参考利用应用程序向导生成的任何一个程序实例框架代码部分中建立的函数ONCREATE()。

----应用程序的单文档和多文档的窗口框架类均由CFrameWnd::EnableDocking(DWORDdwDockStyle)来实现的,其可选的参数除上述五种之外,还增加了CBRSFLOATMULTI参数,该参数主要是为设计浮动工具条而增加的,用来确定一个框架窗口中允许存在多个浮动工具条。同样利用应用程序向导AppWizard生成的应用程序,其默认的停靠位置也是CBRS-ALIGN-ANY,即允许工具条停靠在框架窗口的任何边上,其默认的初始位置为框架窗口的顶部,即EnableDocking(CBRS_ALIGN_ANY)或m_wndToolBar.EnableDocking(CBRS_ALIGN_ANY)。

----浮动工具条的停靠控制

----当一个框架窗口中存在多个标准或浮动工具条时,则需要利用函数voidDockControlBar(CControlBar*pBar,UINTnDockBarID=0,LPCRECTlpRect=NULL)来确定要控制停靠位置的工具条,它也是CFrameWnd类的成员函数。其中参数pBar用来指向被控制停靠位置的工具条对象指针,参数nDockBarID用来确定工具条停靠在框架窗口的哪条边上,其控制的具体取值为:

----AFX-IDW-DOCKBAR-TOP停靠在框架窗口的顶部;

----AFX-IDW-DOCKBAR-BOTTOM停靠在框架窗口的底部;

----AFX-IDW-DOCKBAR-LEFT停靠在框架窗口的左边;

----AFX-IDW-DOCKBAR-RIGHT停靠在框架窗口的右边。

----当参数nDockBarID的取值为0时,则工具条可停靠在框架窗口中的任何一个可停靠的边上,其默认的初始位置为窗口顶部。

----并列工具条的停靠控制

----很多大型应用程序中都存在将多个工具条同时并列停靠在某窗口的某一条边上的情况。对这种停靠方法,可利用上述工具条控制函数DockControlBar的lpRect参数,通过控制工具条的停靠矩形区域的方法来实现。实现的函数如下:

----1.在实现文件MainFrm.h中增加如下成员函数定义:

----voidDockControlBarLeftOf(CToolBar*Bar,CToolBar*LeftOf);

----2.在实现文件MainFrm.cpp中增加如下成员函数:

----voidCMainFrame::DockControlBarLeftOf(CToolBar*Bar,CTooIBar*LeftOf)

----{//设置工具条并列停靠在同一条边上

----CRectrect;//矩形区域定义

----DWORDdw;

----UINTn=0;

----RecalcLayout();//重新显示

----LeftOf->GetWindowRect(&rect);

----rect.Offset(1,0);/
  • 下一篇资讯: 用VC实现远程修改NT帐号
  • 网学推荐

    免费论文

    原创论文

    浏览:
    设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
    湘ICP备09003080号