摘要: 下图是一个类似VC的界面,左边、底下有两个可浮动、可变大小的控制窗口。许多朋友都希望在自己的程序中实现类似的界面,因为此种类型的界面用途很广、通用性很强,所以笔者总结了一下实现的步骤,辑此一文,并提供源代码供大家参考!一、实现原理图中两个窗口的实现类是从CControlBar派生出来的,我们并不需要从头到尾实现该类,因为Cristi Posea先生已经为我们实现了一个称为CSizingControlBar的类,而且做得相当完美!我们所要做的便是好好地利用该类,为了尽可能地简洁,笔者将CSizingControlBar类修改了一下并命名为CCoolBar,接下来我们将详细介绍如何利用该类实现我们 阅读全文
posted @ 2010-12-24 18:09 maxweii 阅读(4542) 评论(1) 推荐(0) 编辑
摘要: 使用过IE浏览器的朋友都知道IE界面上的扁平工具条、地址栏,扁平工具栏上的按钮正常状态下为扁平态,按钮上的图像为灰色,当鼠标放在按钮上时,按钮突起(这种状态称为手柄),并且其上的图像变得鲜艳醒目,一些按钮上还有汉字说明或标有小黑三角的下拉按钮,单击时显示下拉菜单,这些技术是怎么实现的呢,本文针对这些问题介绍了如何利用VC编程来实现它们。  IE风格的实现主要在主框架类的CMainFrame::OnCreate()实现,它的主要思想如下:首先定义一个CReBar对象,用以作工具条、地址栏的容器,然后分别声明图像列表对象img用于存储工具栏上按钮的热点图像和正常状态下显示的图像。为了显示扁平工具栏 阅读全文
posted @ 2010-12-24 18:03 maxweii 阅读(454) 评论(0) 推荐(0) 编辑
摘要: 本文在实现过程中,为了方便起见,参照VC 知识库《轻松实现类VC界面》。一、实现原理图中右侧浮动窗口的实现类是从CControlBar派生出来的,我们并不需要从头到尾实现该类,因为Cristi Posea先生已经为我们实现了一个称为CSizingControlBar的类,而且做得相当完美!我们所要做的便是好好地利用该类,为了尽可能地简洁,将CSizingControlBar类修改了一下并命名为CCoolBar,接下来我们将详细介绍如何利用该类实现我们所需的界面。二、实现步骤示例[1]前期准备已知一个单文档的MFC工程TESS,其它选项默认。将本文示例代码中的CSizingControlBar类 阅读全文
posted @ 2010-12-24 16:43 maxweii 阅读(609) 评论(0) 推荐(0) 编辑
摘要: IMPLEMENT_DYNAMIC是实现“运行时类型识别”宏,与之相对应的是DECLARE_DYNAMIC(声明“运行时类型识别”宏)。也就是说你在.CPP文件中如果看见有IMPLEMENT_DYNAMIC,则在.H文件中必定有DECLARE_DYNAMIC的声明。 DECLARE_DYNAMIC/DEClARE_DYNAMIC是为了确定运行时对象属于哪一个类而定义的宏。 DEClARE_DYNCREATE/IMPLEMENT_DYNCREATE是为了“动态创建"类的实例而定义的宏。new可以用来创建对象,但不是动态的。比如说,你要在程序中实现根据拥护输入的类名来创建类的实例,下面的做法是通不 阅读全文
posted @ 2010-12-24 11:54 maxweii 阅读(1396) 评论(0) 推荐(0) 编辑