ImageVerifierCode 换一换
格式:DOC , 页数:9 ,大小:55KB ,
资源ID:12004420      下载积分:10 金币
快捷注册下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

开通VIP
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.zixin.com.cn/docdown/12004420.html】到电脑端继续下载(重复下载【60天内】不扣币)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

开通VIP折扣优惠下载文档

            查看会员权益                  [ 下载后找不到文档?]

填表反馈(24小时):  下载求助     关注领币    退款申请

开具发票请登录PC端进行申请

   平台协调中心        【在线客服】        免费申请共赢上传

权利声明

1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前可先查看【教您几个在下载文档中可以更好的避免被坑】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时联系平台进行协调解决,联系【微信客服】、【QQ客服】,若有其他问题请点击或扫码反馈【服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【版权申诉】”,意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:0574-28810668;投诉电话:18658249818。

注意事项

本文(MFC数据类型.doc)为本站上传会员【仙人****88】主动上传,咨信网仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知咨信网(发送邮件至1219186828@qq.com、拔打电话4009-655-100或【 微信客服】、【 QQ客服】),核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载【60天内】不扣币。 服务填表

MFC数据类型.doc

1、MFC数据类型 下面这些是和Win32程序共同使用的数据类型 BOOL:布尔值,取值为TRUE or FALSE BSTR:32-bit 字符指针 BYTE:8-bit整数,未带正负号 COLORREF:32-bit数值,代表一个颜色值 DWORD:32-bit整数,未带正负号 LONG:32-bit整数,带正负号 LPARAM:32-bit整数,作为窗口函数或callback函数的一个参数 LPCSTR:32-bit指针,指向一个常数字符串 LPSTR:32-bit指针,指向一个字符串 LPCTSTR:32-bit指针,指向一个常数字符串,此字符串

2、可以移植到Unicode和DBCS LPTSTR:32-bit指针,指向一个字符串,此字符串可以移植到Unicode和DBCS LPVOID:32-bit指针,指向一个未指定类型的数据 LPRESULT:32-bit数值,作为窗口函数或callback函数的返回值 UINT:在Win16中是一个16-bit 未带正负号整数,在Win32中是一个32-bit 未带 正负号整数, WNDPROC:32-bit指针,指向一个窗口函数 WORD:16-bit 整数 ,未带正负号 WPARAM:窗口函数或callback函数的一个参数,在Win16中是16-bit,在Win3

3、2中是32-bit 下面这些是MFC独特的数据类型 POSITION:一个数值,代表collection对象(例如数组或链表)中的元素位置,常 用于MFC collection classes(即数据处理类,如CArray) LPCRECT:32-bit指针,指向一个不变的RECT结构 用Spy++(VC++所附的一个工具)观察窗口类的名称时,会发现窗口类名称变成像Afx:b:14ae:6:3e8f这副奇怪的模样? 原来是Application Framework 把窗口类的名称转换为Afx:: x :y :z :w的类型,成为独一无二的窗口类型名称: x:窗口

4、风格的hex值 y:窗口鼠标光标的hex值 z:窗口后台颜色的hex值 w:窗口图标的hex值 7. Serializable 的必要条件 让一个对象有Serializable能力,它必须派生自一个Serializable类,一个类要成为Serializable,必须有下列五大条件: (1)从Cobject派生下来,如此一来,可保有RTTI、动态生成等机能 (2)类的声明部分必须有DECLARE_SERIAL宏,此宏需要一个参数:类名称 (3)类的实作部分必须有IMPLEMENT_SERIAL宏,此宏需要三个参数:一是类名称,二是基类名称,三是 schema n

5、o. (4)改写Serialize虚拟函数,使它能够适当地把类的成员变量写入档案中 (5)为此类加上一个default构造函数(也就是无参数之构造函数),这个条件常为人所忽略,但它是必要的,因为若一个对象来自档案,MFC必须先动态生成它,而且在没有任何参数的情况下调用其构造函数,然后才从档案中读出对象数据。 所有windows应用程序都是消息驱动的,消息处理是所有windows应用程序的核心部分。当用户单击鼠标或改变窗口大小时,都将给适当的窗口发送消息。每个消息都对应于某个特定的事件。 一、消息处理和消息映射的概念 1、消息   消息主要指由用户操作而向应用程序发出的信息,也

6、包括操作系统内部产生的消息。例如,单击鼠标左按钮,windows将产WM_LBUTTONDOWN消息,而释放鼠标左按钮将产生WM_LBUTTONUP消息,按下键盘上的字母键,将产生WM_CHAR消息。 2、windows消息组成结构   windows消息由消息号和参数组成:   消息号   windows操作系统通过32整数标识一条windows消息,称为消息号。windows消息号具有三个特点:   (1)唯一性   唯一性指对于windows操作系统中的每一条消息都有一个且只有一个消息号与它相对应。由于windows操作系统通过消息激活相应的过程,因此消息的标识必须是唯

7、一的。   (2) 直观性   消息号在形式上表现为消息名,消息名往住直观地说明了消息的产生方式和类型,例如消息名WM_LBUTTONDOWN直观地表示了单击产生的消息。   (3)可自定义性   windows系统定义了一些消息号和消息名,程序员可以运用这些消息,也可以使用自已定义的窗口的消息。形式如下:   #define 消息名 消息号   注意,为了不与现有的windows系统消息相冲突,在消息号的定义中通常采用如下:   WM_USER+n   WM_USER是windows操作系统定义的用户消息起始值,程序员必须从该起始值后选取消息号,例如自定义消息名为“M

8、ESSAGE_1”和“MESSAGE_2”,可采用如下形式:   #define MESSAGE_1 WM_USER+1   #DEFINE MESSAGE_2 WM_USER+2   参 数   windows的消息具有以下两个参数:   (1)字参数(wParam)   (2)长参数(lParam)   字参数和长参数都是32位整数,用于提供消息的附带消息,是消息传递过程中参数的载体。附加信息的消息号取决于消息号。   3、消息处理   在MFC中,每个专门的处理函数旱单独处理每个消息。消息处理函数通常是某一类的成员函数,编写消息处理函数是编写框架应用程序的

9、主要任务。   可以使用ClassWizard创建消息处事函数,然后从Classwizard直接跳到源文件消息处理函数,编写处理代码。   4、消息映射   可以接收消息和命令的所有框架类都有自已的消息映射。框架利用消息映射把消息、命令与它们的处理函数链接起来。从CCmdTarget类派生的任何类都可以有消息映射。虽然叫作“消息映射”,但消息映射既可以处理消息,也可以处理命令。 二、消息种类   消息主要有三种类型,即windows消息,命令消息和控件通知。   按消息的产生可以分为四类:   *(1)外界输入事件产生的消息   *(2)windows系统向应用程

10、序发出的消息   *(3)应用程序之间发送的消息   *(4)其他   根据产生消息的对象,可以进一步将消息分为以下几类:   *(1)窗口管理消息   包括激活基本窗口操作的消息,如关闭、最大化等。   *(2)初始化消息   应用程序、窗口、控件等对象初始化的消息。   *(3)输入消息   包括键盘、鼠标、绘图仪等处部输入工具的输入消息。   *(4)系统消息   windows系统内部消息。   *(5)剪贴板消息   操作剪贴板时产生的消息。   *(6)系统信息消息   用于系统信息发送和处理的消息。   *(7)控件处理消息   操作控件时产

11、生的消息。   *(8)控件通知消息   系统采用空件通知消息向控件发送消息。   *(9)滚动条消息   操作滚动条时产生的消息   *(10)非用户区消息   非用户区产生的消息   *(11)MDI消息   用于多文档操作的消息   *(12)DDE消息   用于动态数据交换的消息。   *(13)应用程序自定义的消息等等。   1、windows消息   除WM_COMMAND外,所有以WM_开头的消息都是windows消息。windows消息由窗口和视图处理。这类消息通常含有用于确定如何对消息进行处理的一些参数。   2、控件消息   控件通知包

12、含从控件和其他子窗口传递给父窗口的WM_COMMAND通知消息。例如,当用户改变编辑控件中的文本时,编辑控件将发送给父窗(例如对话框)一条含有EN_EXCHANGE控件通知码的WM_COMMAND消息。窗口的消息处理函数将以适当的方式对通知消息作出响应,如获取编辑框中的文本等。   像其他标准windows消息一样,控件通知消息由窗口和视图进行处理。但是如果用户单击控件按钮时发出的BN_CLICKED控件通知消息将作为命令消息来处理。   3、命令消息   命令消息包括来自用户界面对象的WM_COMMAND通知消息。菜单项、工具栏按钮和加速键都是可以产生命令的用户界面对象。每个这样

13、的对象都有一个ID。通过给对象和命令分配给同一个ID可以把用户界面对象和命令联系起来。命令是被作为特殊的消息来处理的。   通常,命令ID是以其表示的用户界面对象的功能来命名的。例如,Edit菜单中的Copy命令就可以用ID_EDIT_COPY来表示。MFC类库预定义了某些命令ID(如ID_EDIT_PASTE和ID_FILE_OPEN等等)。其他命令ID则要编程人员自已定义,所有预定义命令ID的列表,参见AFXRES.H文件。   命令消息的处理和其他消息的处理不同。命令消息可以被更广泛的对象(如文档、文档模板、应用程序对象、窗口和视图等)处理。windows把命令发送给多个候选对象,

14、称为命令目标。通常其中一个对象有针对该命令的处理函数。处理函数处理命令的方法和处理windows消息的方法是一样的。但调用机制不一样。 三、常用消息   windows中一些常用的消息:   1、WM_LBUTTONDOWN   产生:单击。   参数:   wParam:包含一个整数值,以标识鼠标键的按下状态。   鼠标的按下标识及说明   数值  说明    MK_LBUTTON  标识按下鼠标左键    MK_MBUTTON  标识按下鼠标中键    MK_RBUTTON  标识按下鼠标右键    lParam:长参数lParam的低字位包含当前坐标的x

15、坐标,在高字节包含当前坐标的Y坐标。   相似的消息有:   WM_LBUTTONUP   WM_RBUTTONDOWN   WM_RBUTTONUP   WM_LBUTTONDBLCLK   WM_RBUTTONDBLCLK   2、WM_KEYDOWN   产生:按下一个非系统键的时候产生该事件,系统键是指实现系统操作的组合键,例如,Alt与某个功能键的组合以实现菜单操作等。   参数:   wParam:按下键的虚拟键盘码,虚拟键码用来标识按下或者释放的是哪个键,例如功能键F1的虚拟键码在windows.h文件中定义为VK_F1。   lParam:长参数中记录了按

16、键的重复次数,扫描码、转移代码、先前键的状态等信息。   相似的消息有:   WM_KEYUP:放开按下的非系统键时产生的事件。   3、WM_CHAR   产生:按一个非系统键时产生。   参数:   wParam:所按下的键的ASCII码。   lParam:长参数中记录了按键的重复次数,扫描码、转移代码、先前键的状态等信息。   4、WM_CREATE   产生:由CreateWindow函数发出,创建窗口。   参数:   wParam:没用。   lParam:包含一个指向CREATESTRUCT数据结构的指针,该结构是传递给CreateWindow函数的参数

17、的副本。   5、WM_CLOSE   产生:当关闭当前窗口时产生。   参数:   wParam:未用。   lParam:未用。   6、WM_DESTROY   产生:当窗口要销毁时由DestroyWindow函数发出。   参数:   wParam:没用到。   lParam:没用到。   7、WM_QUIT   产生:退出应用程序时由PostQuitMessage函数发出。   参数:   wParam:含有退出代码,退出代码标识应用程序退出运行时的有关信息。   lParam:未用。   8、WM_COMMAND   产生:用户与窗口或控件交互时,

18、控件向其窗口发送WM_COMMAND消息。该消息的wParam参数的低字节中包含子窗口(控件)的标识值ID,高字节中包含子窗口向父窗口发出的通知代码,lParam参数中包含控件子窗口句柄。   9、WM_PAINT   用户改变窗口大小或拖动窗口,系统向应用程序发送WM_PAINT消息,WM_PAINT消息调用BeginPaint函数。 四、消息处理函数   1、windows消息和控件通知的处理函数   windows消息和控件通知都是由派生于CWnd的窗口类对象处理的。它们包括CFrameWnd、CMDIFrameWnd、CMDIChildWnd、CView、CDialog以及从

19、这些派生的用户自定义的类。这样的类对象封装了windows窗口句柄HWND。   windows消息和控件通知都有默认的处理函数,这些函数在CWnd类中进行了预定义,MFC类库以消息名为基础形成这些处理函数的名称,这些处理函数的名称都以前缀"On"开始。有的处理函数不带参数,有的则有几个参数;有的还有除void以外的返回值类型。CWnd中消息处理函数的说明都有afx_msg前缀。关键字afx_msg用于把处理函数和其他CWnd成员函数区分开来。例如,消息WM_PAINT的处理函数在CWnd中被声明成:   afx_msg void OnPaint();   windows消息常见的有鼠标

20、消息(如WM_LBUTTONDOWN)消息)、键盘字符消息(WM_CHAR消息)、键盘按键消息(WM_KEYDOWN)、窗口重画消息WM_PAINT,水平和垂直条滚动消息WM_HSCROLL和WM_VSCROLL)以及系统时钟消息WM_TIMER等。   2、命令消息的处理函数   由于用户界面的对象是用户自已定义的,每个应用程序的用户界面对象千差万别,所以对用户界面对象的命令消息没有默认的处理函数。如果某条命令直接影响某个对象,则应该让这个对象来处理这条命令。例如FILE菜单上的Open命令当然与应用程序有关:应用程序打开一个特定的文档来响应该命令。报以,Open命令的处理函数是应用程序

21、类的一个成员函数。   把命令消息映射成处理函数时,ClassWizard以命令ID来命名处理函数,可以接受、修改、或替换推荐使用的名字。例如,Edit菜单项的Cut命令,对应ID就是ID_EDIT_CUT,处理函数被命名成:   afx_msg void OnEditCut();   此外,对于控件按钮的BN_CLICKED通知消息,其处理函数可以被命名为:   afx_msg void OnClickedUseAsDefault();   命令消息的处理函数没有参数值,也不返回值。 五、消息映射   用MFC Application Wizard 创建应用程序框架时,AppW

22、izard为创建的每个命令目标类(包括派生的应用程序对象、文档、视图、和边框窗口等)编写一个消息映射。每个命令目标类的消息映射存在相应的.cpp文件中。可以在AppWizard创建的基本消息映射的基础上,使用ClassWizard为每个类将处理的消息和命令添加一些条目。例如,对于应用程序类,MFC AppWizard创建的基本消息映射为:     BEGIN_MESSAGE_MAP(CTextEditApp,CWinApp)          //{{AFX_MSG_MAP(CTextEditApp)          ON_COMMAND(ID_APP_ABOUT,OnAppAbout

23、)          //注:ClassWizard将在此处添加和删除消息映射宏          //不要编辑这些生成的代码块          //}}AFX_MSG_MAP          //基于标准文件的文档命令(新建和打开)          ON_COMMAND(ID_FILE_NEW,CWinApp::OnFileNew)          ON_COMMAND(ID_FILE_OPEN,CWinApp::OnFileOpen)          //标准的打印设置命令          ON_COMMAND(ID_FILE_PRINT_SETUP,CWinA

24、pp::OnFilePrintSetup)          END_MESSAGE_MAP()   1、WM_LBUTTONDOWN   产生:单击。   参数:   wParam:包含一个整数值,以标识鼠标键的按下状态。   鼠标的按下标识及说明   数值  说明    MK_LBUTTON  标识按下鼠标左键    MK_MBUTTON  标识按下鼠标中键    MK_RBUTTON  标识按下鼠标右键    lParam:长参数lParam的低字位包含当前坐标的x坐标,在高字节包含当前坐标的Y坐标。   相似的消息有:   WM_LBUTTONUP

25、  WM_RBUTTONDOWN   WM_RBUTTONUP   WM_LBUTTONDBLCLK   WM_RBUTTONDBLCLK   2、WM_KEYDOWN   产生:按下一个非系统键的时候产生该事件,系统键是指实现系统操作的组合键,例如,Alt与某个功能键的组合以实现菜单操作等。   参数:   wParam:按下键的虚拟键盘码,虚拟键码用来标识按下或者释放的是哪个键,例如功能键F1的虚拟键码在windows.h文件中定义为VK_F1。   lParam:长参数中记录了按键的重复次数,扫描码、转移代码、先前键的状态等信息。   相似的消息有:   WM_KEY

26、UP:放开按下的非系统键时产生的事件。   3、WM_CHAR   产生:按一个非系统键时产生。   参数:   wParam:所按下的键的ASCII码。   lParam:长参数中记录了按键的重复次数,扫描码、转移代码、先前键的状态等信息。   4、WM_CREATE   产生:由CreateWindow函数发出,创建窗口。   参数:   wParam:没用。   lParam:包含一个指向CREATESTRUCT数据结构的指针,该结构是传递给CreateWindow函数的参数的副本。   5、WM_CLOSE   产生:当关闭当前窗口时产生。   参数:  

27、wParam:未用。   lParam:未用。   6、WM_DESTROY   产生:当窗口要销毁时由DestroyWindow函数发出。   参数:   wParam:没用到。   lParam:没用到。   7、WM_QUIT   产生:退出应用程序时由PostQuitMessage函数发出。   参数:   wParam:含有退出代码,退出代码标识应用程序退出运行时的有关信息。   lParam:未用。   8、WM_COMMAND   产生:用户与窗口或控件交互时,控件向其窗口发送WM_COMMAND消息。该消息的wParam参数的低字节中包含子窗口(控件)

28、的标识值ID,高字节中包含子窗口向父窗口发出的通知代码,lParam参数中包含控件子窗口句柄。   9、WM_PAINT   用户改变窗口大小或拖动窗口,系统向应用程序发送WM_PAINT消息,WM_PAINT消息调用BeginPaint函数。 MFC中常用类,宏,函数介绍 常用类 CRect:用来表示矩形的类,拥有四个成员变量:top left bottom right。分别表是左上角和右下角的坐标。可以通过以下的方法构造: · CRect( int l, int t, int r, int b ); 指明四个坐标 · CRect( const RECT& srcRec

29、t ); 由RECT结构构造 · CRect( LPCRECT lpSrcRect ); 由RECT结构构造 · CRect( POINT point, SIZE size ); 有左上角坐标和尺寸构造 · CRect( POINT topLeft, POINT bottomRight ); 有两点坐标构造 下面介绍几个成员函数: · int Width( ) const; 得到宽度 · int Height( ) const; 得到高度 · CSize Size( ) const; 得到尺寸 · CPoint& TopLeft( ); 得到左上角坐标 ·

30、CPoint& BottomRight( ); 得到右下角坐标 · CPoint CenterPoint( ) const; 得当中心坐标 此外矩形可以和点(CPoint)相加进行位移,和另一个矩形相加得到“并”操作后的矩形。 CPoint:用来表示一个点的坐标,有两个成员变量:x y。 可以和另一个点相加。 CString:用来表示可变长度的字符串。使用CString可不指明内存大小,CString会根据需要自行分配。下面介绍几个成员函数: · GetLength 得到字符串长度 · GetAt 得到指定位置处的字符 · operator + 相当于strcat

31、 · void Format( LPCTSTR lpszFormat, ... ); 相当于sprintf · Find 查找指定字符,字符串 · Compare 比较 · CompareNoCase 不区分大小写比较 · MakeUpper 改为小写 · MakeLower 改为大写 CStringArray:用来表示可变长度的字符串数组。数组中每一个元素为CString对象的实例。下面介绍几个成员函数: · Add 增加CString · RemoveAt 删除指定位置CString对象 · RemoveAll 删除数组中所有CString对象 ·

32、GetAt 得到指定位置的CString对象 · SetAt 修改指定位置的CString对象 · InsertAt 在某一位置插入CString对象 · 常用宏 · RGB TRACE ASSERT VERIFY 常用函数 CWindApp* AfxGetApp(); HINSTANCE AfxGetInstanceHandle( ); HINSTANCE AfxGetResourceHandle( ); int AfxMessageBox( LPCTSTR lpszText, UINT nType = MB_OK, UINT nIDHelp = 0 );用于弹出一个消息框

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服