1.3 基于对话框的MFC应用程序实例

认识VC++6-0 专栏收录该内容
9 篇文章 0 订阅

MFC的全程是“Microsoft Foundation Classes”(微软基础类库),是微软为了简化Windows下应用程序的编写而提供的一个框架。MFC对基本API做了封装,并提供了数量众多的C++封装类。在编程时使用MFC,虽然会降低少许运行效率,但是会大大提高应用程序的开发效率。

1.3.1 技术要点:

  • 对话框是Windows系统中的特殊窗口,对话框在系统内部已经实现了消息处理等功能,使得对话框的使用比普通窗口简单快捷。在Windows系统中,对话框的使用非常广泛;
  • 在MFC中,对话框的封装类为CDialog,并且基于CDialog,又细分了众多的派生类,实现了对更多具体功能的封装;

1.3.2 实例步骤:
本实例演示基于MFC的对话框应用程序的方法,实例步骤如下:

  1. 打开Visual C++ 6.0,单击“File”/“New”菜单,此时将弹出项目向导对话框。在对话框中选择项目类型为“MFC AppWizard(exe)”,在项目名称文本框中输入“MfcDialog”,单击“OK”/“确认”按钮进入下一步;图1.1 选择项目类型为MFC应用程序
  2. 在接下来的对话框中,选择“Dialog based”,其余选项采用默认值,单击“Finish”/“确认”按钮完成向导;图1.2  选择新建基于对话框的MFC应用程序
  3. 在完成应用程序向导后,IDE将自动打开对话框的设计界面。在设计界面中,可以通过鼠标拖动的方法改变对话框的大小,还可以将工具箱中的控件拖动到对话框上,已添加控件。在控件上单击鼠标右键,并单击“Properties”/“属性”菜单,可以设置控件的属性。读者可以尝试修改对话框上的静态文本按钮的内容;图1.3  修改标题

1.3.3 程序运行:

图1.4  程序运行

1.3.4 源程序解读:

  • 通过Visual C++ 6.0的Class View,可以看到向导已经为应用程序生成了3个类,其中CAboutDlg是“关于”对话框类。“关于”对话框可以在项目向导的后续步骤中选择是否需要:①、类CMfcDialogApp是整个应用程序的框架,用于控制应用程序的启动和结束;②、CMfcDialogDlg是主对话框类,用于控制主对话框的行为,以及接受主对话框上的鼠标或键盘事件,并处理这些事件;
  • 在设计对话框大小时,Visual C++ 6.0的状态栏右下角会以数字的形式显示对话框尺寸,但是要注意,这个尺寸并非像素,而是一个叫做“DLU”(对话框逻辑单位)的单位。每个水平DLU相当于对话框所用字体平均宽度的1/4,每个垂直DLU相当于对话框所用字体平均高度的1/8;
说明:这样的设置,其优点是可以保证在对话框字体改变时,窗口大小和字体大小比例保持一致,缺点是在设计期无法精确控制对话框像素大小。如果要精确控制对话框大小,可以在对话框初始化时通过代码重新指定对话框尺寸。
  • 4
    点赞
  • 0
    评论
  • 8
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

本书通过85个实例全面讲述了应用MFC进行Visual C++编程的思想。每个实例均以编写一个应用程序要走的步骤编写。全书共分四部分进行介绍,第一部分是基础知识,第二部分讲述用户界面的实例,第三部分讲述MFC内部处理方面的实例,第四部分讲述打包实例。全书基本上面向实例进行阐述,讲解透彻、易于掌握。本书既可作为初学者和大专院校师生的自学参考书,也可作为计算机软件开发人员的技术参考书。 第一部分 基础知识 第1章 窗口 2 1.1 窗口和API环境 2 1.1.1 三种类型窗口 2 1.1.2 客户区和非客户区 3 1.2 窗口和MFC环境 4 1.3 怎样应用MFC创建一个窗口 5 1.4 怎样使用MFC销毁一个窗口 9 1.4.1 捆绑到一个已有的窗口 9 1.4.2 窗口类 10 1.4.3 窗口进程 10 1.5 怎样使用MFC创建一个窗口类 11 1.5.1 使用AfxRegisterWndClass () 函数注册一个窗口类 11 1.5.2 使用AfxRegisterClass ()函数 创建一个窗口类 12 1.6 怎样销毁一个MFC窗口类 14 1.7 厂商安装的窗口类 14 1.8 其他类型窗口 15 1.9 桌面窗口 16 1.10 小结 16 第2章 类 18 2.1 基类 18 2.1.1 CObject 18 2.1.2 CCmdTarget 19 2.1.3 CWnd 19 2.2 应用程序、框架、文档和视图类 19 2.2.1 CWinApp(O/C/W) 20 2.2.2 CView (O/C/W) 21 2.3 其他用户界面类 22 2.3.1 通用控件类 23 2.3.2 菜单类 23 2.3.3 对话框类 24 2.3.4 控制条类 24 2.3.5 属性类 25 2.4 绘图类 25 2.4.1 设备环境类 25 2.4.2 图形对象类 25 2.5 文件类 26 2.6 数据库类 26 2.6.1 ODBC类 26 2.6.2 DAO类 27 2.7 数据集类 27 2.8 其他数据类 27 2.9 通信类 28 2.10 其他类 29 2.11 小结 313章 消息处理 32 3.1 发送或寄送一个消息 32 3.1.1 发送一个消息 32 3.1.2 寄送一个消息 32 3.1.3 发送一个消息与寄送一个消息 的比较 32 3.2 怎样使用MFC发送一个消息 33 3.3 怎样用MFC寄送一个消息 33 3.4 三种类型的消息 34 3.4.1 窗口消息 34 3.4.2 命令消息 34 3.4.3 控件通知 34 3.5 MFC怎样接收一个寄送的消息 36 3.6 MFC怎样处理一个接收到的消息 36 3.7 处理用户界面的对象 44 3.8 创建自定义窗口消息 45 3.8.1 静态分配的窗口消息 45 3.8.2 动态分配的窗口消息 46 3.9 重定向消息 47 3.9.1 子分类和超分类 47 3.9.2 用MFC子分类窗口 48 3.9.3 重载OnCmdMsg ( ) 49 3.9.4 使用SetWindowsHookEx ( ) 49 3.9.5 使用SetCapture ( ) 49 3.9.6 专有的消息泵 50 3.10 小结 50 第4章 绘图 51 4.1 设备环境 51 4.2 在MFC环境中创建一个设备环境 52 4.2.1 屏幕 52 4.2.2 打印机 53 4.2.3 内存 54 4.2.4 信息 54 4.3 绘图例程 55 4.3.1 画点 55 4.3.2 画线 55 4.3.3 画形状 55 4.3.4 形状填充和翻转 55 4.3.5 滚动 56 4.3.6 绘制文本 56 4.3.7 绘制位图和图标 56 4.4 绘图属性 56 4.4.1 设备环境属性 57 4.4.2 画线属性 58 4.4.3 形状填充属性 58 4.4.4 文本绘制属性 58 4.4.5 映像模式 59 4.4.6 调色板属性 62 4.4.7 混合属性 62 4.4.8 剪裁属性 63 4.4.9 位图绘制属性 64 4.5 元文件和路径 65 4.5.1 元文件 65 4.5.2 路径 66 4.6
©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值