轻松实现类 MSDN 2002 界面(二)

2016-01-29 11:56 54 1 收藏

轻松实现类 MSDN 2002 界面(二),轻松实现类 MSDN 2002 界面(二)

【 tulaoshi.com - C语言心得技巧 】

轻松实现类MSDN2002界面(二)


作者:Cuick

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com)

下载源代码


  前段时间在VC知识库发表了《轻松实现类MSDN2002界面》,仅仅实现了标签页的拖放、停靠、浮动等功能,而上面的图钉按钮也只是一个假的^_^。通过参考http://www.codeproject.com/docking/pinnabledock.asp的代码对程序进行了加强。现在已经可以实现自动隐藏了!!!效果图如下。(比较匆忙,程序还有很多不令人满意的地方,有待改进。上周刚接到新任务,不能继续做了,只好请大家来完善了,希望你把修改后的代码发我一份,谢谢)


图一

下面,我将一步步介绍怎样使用 DockPage、AutoHideBar。

一、通过AppWizard使用默认选项生成一个SDI界面工程。把src目录拷贝到你的工程文件夹下。

在菜单Project->Add to project->Files将六个文件加入工程中。在stdafx.h文件中加上:

#define WM_AUTOHIDE_ONWM_USER+1#include ".srcsizecbar.h"#include ".srcAutoHideBar.h"
二、修改 MainFrame 的继承关系。

头文件修改为:class CMainFrame : public CautoHideFrame
cpp文件修改:IMPLEMENT_DYNCREATE(CMainFrame, CAutoHideFrame)
BEGIN_MESSAGE_MAP(CMainFrame, CAutoHideFrame)
三、声明DockPageBar:
CDockPageBarm_wndDockPageBar
在OnCreate创建DockPageBar:
if (!m_wndDockPageBar.Create(_T("DockPageBar"), this, CSize(230,260),TRUE,123)){TRACE0("Failed to create DockPageBar.n");return -1;}m_wndDockPageBar.SetBarStyle(m_wndDockPageBar.GetBarStyle() |CBRS_TOOLTIPS | CBRS_FLYBY | CBRS_SIZE_DYNAMIC);m_wndDockPageBar.EnableDocking (CBRS_ALIGN_ANY);
允许Frame停靠:
EnableDocking(CBRS_ALIGN_ANY);
将DockPageBar停靠到左边:
DockControlBar(&m_wndDockPageBar, AFX_IDW_DOCKBAR_LEFT);
四、好了,停靠 Bar 已经创建好了,并且具有了自动隐藏功能。下面你就可以忘停靠条里添加标签页了!!
if (!m_wndEdit.Create(WS_CHILD|WS_VISIBLE|ES_MULTILINE|ES_WANTRETURN|ES_AUTOVSCROLL,CRect(0,0,0,0), this, 123))return -1;m_wndDockPageBar.AddPage(&m_wndEdit,"Edit",IDI_INDEX);
  OK,编译执行就可以了!!就这么简单。至于实现原理就不在这里讲了,有幸趣的话可以看源码,不过源码有点乱,现在实在是没有时间整理了!!自动隐藏功能的实现代码没有加注释,抱歉!!!
  还有,以前发表的《二进制浏览、编辑的实现》存在的Bug修改了一下,并加了注释,一并发上来。本程序匆忙中完成,不足之处请见凉。

来源:http://www.tulaoshi.com/n/20160129/1483919.html

延伸阅读
标签: 办公软件
WPS Office 2002是一套适合中国人使用的办公软件。很多学校都采用该软件,尤其是在排数学、物理、化学等试卷时,简单快速的公式输入很受老师们的欢迎。 但此时,试卷卷头的制作成了一个问题,很多老师采用插入图片的方法来制作试卷卷头,在实际操作中,虽然直接插入已经做好的图片看似方便,但文字转成图片后的实际打印效果不能满足要求...
PSS ID Number: Q320687 当你设计一个应用程序时,或许你希望用户能够通过客户区来拖动窗体,比如:当窗体没有标题栏或创建的是不规则的窗体时,就只有通过客户区来拖动窗体了。 一个发生在我们身边很好的例子就是Microsoft Windows Media Player。Media Player有项功能是根据用户的爱好可以随意换掉外观(换肤),这个时候标题栏就隐藏了,但...
四、上线时的声音及消息显示时的人物跳动 本人并未实现人物跳动,并不知道是切换图片,还是更改图片的位置,所以此功能有待各位的指点! 五、动感十足的抽屉菜单 我对QQ的这个菜单印象特深,犹其是配的“刷”的声音,充分体验到QQ的生动!下面就详细介绍自己是如何一步步实现的: 说明: 在程序的一开始就获...
QQ界面的模拟实现(上) 作者:小帅 下载源代码 大凡用过电脑,上过网的朋友都用过QQ,对QQ的一些交互界面可能垂慕已久,的确,无论是其生动的企鹅形象,还是“滴滴的”消息声音,以及“刷”的菜单等功能,简单单的消息发送,以及快速的回显和众多卡通的QQ头像等铸就了其在网络的良好地位,本人对其研究虽不够...
大凡用过电脑,上过网的朋友都用过QQ,对QQ的一些交互界面可能垂慕已久,的确,无论是其生动的企鹅形象,还是“滴滴的”消息声音,以及“刷”的菜单等功能,简单单的消息发送,以及快速的回显和众多卡通的QQ头像等铸就了其在网络的良好地位,本人对其研究虽不够透彻,但也做一些探索性的尝试,并简单的实现了比较突出的功能,在s模拟的过程...

经验教程

705

收藏

28
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部