关闭

MFC-GDI绘制

最好的GDI入门教程是《Window程序设计》的第五章,如果你没有任何GDI基础,最好精读这一章,因为本文并不会介绍GDI的方方面面,事实上这也是不可能完成的任务。我只将以前学习GDI时遇到的几个难点拿出来讲讲。GDI对象的用法GDI对象就是画笔,画刷,字体这类资源,以我的经验,GDI对象的管理是一件麻烦的事,如果操作不当,很容易引起GDI泄漏。Delphi用TPen,TBrush...
阅读(6879) 评论(3)

小巧可爱的MiniDraw

       上文用于演示的程序名叫MiniDraw,也许你已有所察觉――这应该是一个画图程序。不错,我的实验品就是经典的画图程序,并且这几天我已经把它编写出来了。这是一个小巧可爱的画图程序,麻雀虽小,五脏俱全,屏幕截图如下:       从图中可以看出,每个图形就是一个对象,支持各种属性设置,以及鼠标拖拉。我将MiniDraw能做的事情列举了出来:l         存盘读盘...
阅读(3248) 评论(2)

MFC-文档视图

MDI程序       MiniDraw只有一个About对话框,这回要把它变成一个MDI程序,借助于文档视图的威力,并不需要花很大的力气。       MDI由4个类组成:主框架类,由CMDIFrameWnd派生而来,表示程序的MDI父窗口。子框架类,由CMDIChildWnd派生而来,表示程序的MDI子窗口。视图类,由CView派生而来,表示一个文档视图,内嵌于子窗口。...
阅读(7665) 评论(4)

MFC-RTTI

关于RTTI       正如侯杰所说,文档视图是MFC进化为应用程序框架的灵魂,不可否认,这是MFC最为精炒的设计,十多年前数据与表现分离的思想就被应用在这个框架之上。而在文档视图之下,支撑着它的是运行时类型信息(RTTI)。       RTTI允许程序在运行时刻获得类乃至普通类型的信息,这是怎么做到的,其实原理很简单,就是事先将这些信息保存为某种数据结构,保存的工作或由编译器帮你...
阅读(3943) 评论(1)

MFC-最简单的MFC程序

       尽管刚接触MFC不久,但其开发模式已初有感受,抛开复杂的应用不谈,想想我们通常怎样来写一个简单的MFC程序。也许浮现在你脑海里的是程序向导,类向导,资源编辑器,以及程序代码,此时你大概会灵光一现,说MFC程序=向导+资源+代码。看起来确实是这样,但有没有可能更简化一些呢,比如把向导去掉。想想是可以的,向导不过是简化MFC开发的一种手段,虽然没有类向导日子会很难过,但也使你有机会看...
阅读(8315) 评论(8)

MFC-对话框与数据交换

       对话框是非常重要的一种窗体,就我看过的应用,除了MDI程序,对话框比文档视图框架用得更多。原因大概有两个,首先对话框可以利用资源编辑器来编辑,这就有了一点快速开发的感觉,尽管比真正的快速开发弱得多;其次,对话框提供一种叫数据交换的方法,让控件与某种数据类型关联起来,比如Edit控件与CString变量关联,对CString变量的操作间接映射到Edit控件,这种方便性是不言而喻的。...
阅读(5860) 评论(3)

MFC-窗口封装

        MFC对Window作了一层比较浅的封装,其创建过程基本与SDK差不多。它简化了窗口的注册,并将窗口过程与类关联起来;后者是比较重要的封装,它使消息能够分流给“类的窗口过程”,既而通过消息映射,才能到达各个处理函数。       使用传统的SDK来创建一个窗口有点繁琐,伪代码是这样的:       if (RegisterClass(…))    {  ...
阅读(4506) 评论(0)

MFC-命令分派

       MFC的命令大体上由两类界面元素引发,一种是菜单项,另一种是如按钮,复选框等的通用控件。从消息来看,其实就是处理WM_COMMAND消息。尽管命令消息的进入点仍然是CWnd::OnWndMsg,不过MFC让它走了另一条路,即OnCommand。       让命令消息作另外处理是有原因的,比如说菜单命令,往往处理它的并不是FrameWnd,而是View,Document或其他的类...
阅读(2911) 评论(0)

C++实现事件机制

       委托是一种很实用的设计方法,一个模块可以将某些事情委托给其他实体去做,而对于模块本身不需要知道受委托的实体是什么,它只知道这个实体遵循某种接口规范。回调函数可以认为是一种委托,它在Windows编程中起了非常重要的作用。       委托的一个重要应用是事件机制,假设有类A负责加载数据,类B用于实时显示A的加载进度,那么A必须向B引发一些事件,以表明它的加载进度。要实现这种机...
阅读(10798) 评论(1)
    个人资料
    • 访问:319294次
    • 积分:4153
    • 等级:
    • 排名:第8150名
    • 原创:72篇
    • 转载:0篇
    • 译文:0篇
    • 评论:396条
    文章分类
    最新评论