MFC对话框程序概要.ppt

MFC对话框程序概要

MFC对话框程序 namespace 主要内容 MFC及对话框概念 Dialog项目的创建与修改 MFC的消息处理 MFC控件数据交换 MFC类库 MFC是MS为建立一套类库.把Windows系统中大部分封装成类 如窗口,菜单,socket,和一些操作系统的对象,如线程,互质锁等都封装成类 相对Win32 SDK下的C编程,MFC编程算得上是比较方便. MFC图形程序 MFC图形程序分为三类 SDI 类似于写字本的界面 MDI 类似于VC++ 6.0的界面 对话框程序 类似于安装程序那样界面 SDI –单文档界面 类似于写字板,画图界面程序 菜单,工具条和状态栏 一个文件编辑界面 MDI –多文档界面 类似于VC++ 6.0的界面 菜单,工具条和状态栏 多个文件编辑界面 可能有额外的窗口 Dialog 对话框界面 类似于计算器这样由控件组成的界面 由常用的控件如按钮,编辑框,下拉列表组成 对话框类型 模态窗口 大部分窗口采用的形式,最主要特征是窗口焦点不能走,即在同一个应用程序中,如果模态窗口不关闭,使用者是不能去操作其它窗口. 最典型的应用是应用程序的”关于对话框” 非模态窗口 非模态刚好相反,不用关闭非模态窗口就可以操作其它窗口 最典型的应用的就是QQ的聊天窗口 模态对话框 非模态对话框 QQ的聊天对话框,是最常见的非模态对话框应用 一个MFC程序 MFC程序是利用VC所带的MFC库构造的GUI程序.多用于WIN32应用程序开发 一个MFC程序(2) 新建 一个MFC程序(3) 选择MFC程序类型 一个MFC程序(4) 一个MFC程序(5) 一个MFC程序(6) 一个MFC程序(7) 一个MFC程序(8) 一个MFC程序(9) 运行结果 MFC三大类应用程序--Dialog Dialog 对话框应用程序 对话框界面可视化设计 在Windows中,对话框,与菜单,图片.字符串统称为资源resource.而且是与程序无关的资源.所有Winodws GUI都要处理资源. 资源描述文件(*.rc)是用于描述程序资源一种文本文件.他被WINDOWS资源编译器,编译后会生成*.res资源,当图形程序被链接时,*.res会被链接到最终的应用程序当中. 很多开发环境能都处理rc文件,象VB,Delphi能做到让开发者一点不需要感觉rc的存在.而VC也有可视化工具,但处理一般,用户是直接处理这一文件 项目rc 文件示例 资源编号 每一个资源(对话框,控件,图片…)在程序中都有一个整数标识.称为资源ID MFC采用宏定义来增强可读性,定义resource.h 在界面编辑器和.rc采用是宏的名字 VC可视化编辑界面 MFC类库结构 MFC里所有类都是从CObject继承下来,形成一个完整的类库 如对话框,控件都从CObject继承下来 MFC中常用类 CRect CRect:用来表示矩形的类,拥有四个成员变量:top left bottom right。分别表是左上角和右下角的坐标。可以通过以下的方法构造: CRect( int l, int t, int r, int b ); 指明四个坐标 CRect( const RECT srcRect ); 由RECT结构构造 CRect( LPCRECT lpSrcRect ); 由RECT结构构造 CRect( POINT point, SIZE size ); 有左上角坐标和尺寸构造 CRect( POINT topLeft, POINT bottomRight ); 有两点坐标构造 成员函数 int Width( ) const; 得到宽度 int Height( ) const; 得到高度 CSize Size( ) const; 得到尺寸 MFC中常用类 :CString CString用来处理字符串的类.用来表示可变长度的字符串。使用CString可不指明内存大小,CString会根据需要自行分配. CString str = _T(“hello”); CString str(_T(“hxy”)); 成员函数 GetLength 得到字符串长度 GetAt 得到指定位置处的字符 operator + 相当于strcat T宏:用来将字符串常量字符设置为“中性”。这样不管是ANSI字符集还是Unicode ,在_T中的字符常量都会自动转换 如果是ANSI字符集下,_T(“”)自动生成ANSI字符字符串,汉字占两个字节 在使用unicode格式下,所有字符占用两个字符._T(“”)自动生成unicode. 所以在MFC中定义字符串常量用_T(“”)宏是一个好习惯 _T(“hxy”) 在ANSI字符集下,不用_T(“”)也能编译通过 CString 转换成

文档评论(0)

1亿VIP精品文档

相关文档