用BCGControlBar来实现在桌面自动停靠与隐藏的功能

原创|其它|编辑:郝浩|2009-04-23 17:58:59.000|阅读 2785 次

概述:不少的客户需要制作一些简单的任务型的窗口,但是在常用的框架窗口(CFrameWnd)以及对话框(CDialog)对话框窗口都会占到桌面比较大的幅面。但是现在有的客户就想将这些程序窗口停靠在桌面的某边上,并能自动的隐藏,而不是利用最小化按钮来进行切换。那么这样的功能通常用这些类来实现就比较的困难。

# 界面/图表报表/文档/IDE等千款热门软控件火热销售中 >>

之前有不少的客户需要制作一些简单的任务型的窗口,但是在常用的框架窗口(CFrameWnd)以及对话框(CDialog)对话框窗口都会占到桌面比较大的幅面。但是现在有的客户就想将这些程序窗口停靠在桌面的某边上,并能自动的隐藏,而不是利用最小化按钮来进行切换。那么这样的功能通常用这些类来实现就比较的困难。

本文主要要讲的是利用BCGControlBar 10.3版本来实现应用程序在桌面的自动停靠与隐藏的功能。

这里我们就要提到一个非常重要而又容易被忽视的类:CBCGPAppBarWnd。该类主要用于实现一个桌面工具栏的功能。熟悉BCGControlBar的朋友都知道CBCGPDockingControlBar只能在框架窗口中实现这个功能。而在桌面上却无法实现。

CBCGPAppBarWnd中提供了一系列的接口来实现以下的功能:

1   可停靠在桌面的边缘上

2   可在 自动隐藏/始终显示 两种方式下进行切换

3   可在桌面中间浮动

4   并且浮动尺寸与停靠尺寸可以不同

这里我们具体的讲一下该类的一些具体接口。

CBCGPAppBarWnd::SetAutoHide(BOOL bEnable)函数用来设置该窗口是否自动隐藏,参数为TRUE则自动隐藏,为FALSE则始终显示。

CBCGPAppBarWnd::SetAlwaysOnTop(BOOL bEnable)函数用来设置窗口是否一直在最上层显示(处于所有窗口的最上面)。现在不少的程序都要用到这个功能,当应用程序窗口需要活动的时候需要始终在最上层显示。

CBCGPAppBarWnd::SetSide(UINT nSide)函数用来设置停靠的边缘位置,其中要停靠的边缘位置参数为ABE_TOP, ABE_BOTTOM, ABE_LEFT, ABE_RIGHT,分别代表了顶部,底部,左边,右边。

CBCGPAppBarWnd::Float()函数用来将应用程序窗口设置为浮动为非停靠状态。



标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处、不得修改原文相关链接,如果存在内容上的异议请邮件反馈至chenjj@evget.com

文章转载自:本站

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP