MFC函数笔记.doc

上传人:11****ws 文档编号:3179784 上传时间:2019-05-24 格式:DOC 页数:3 大小:22.79KB
下载 相关 举报
MFC函数笔记.doc_第1页
第1页 / 共3页
MFC函数笔记.doc_第2页
第2页 / 共3页
MFC函数笔记.doc_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

1、SendMessageLRESULT SendMessage(HWND hWnd,UINT Msg,WPARAM wParam,LPARAM IParam); 参数: hWnd:其窗口程序将接收消息的窗口的句柄。如果此参数为HWND_BROADCAST,则消息将被发送到系统中所有顶层窗口,包括无效或不可见的非自身拥有的窗口、被覆盖的窗口和弹出式窗口,但消息不被发送到子窗口。Msg:指定被发送的消息。 wParam:指定附加的消息特定信息。 IParam:指定附加的消息特定信息。 返回值:返回值指定消息处理的结果,依赖于所发送的消息。memsetvoid *memset(void *s, int

2、 ch, size_t n); 函数解释:将 s 中前 n 个字节替换为 ch 并返回 s; memset:作用是在一段内存块中填充某个给定的值,它是对较大的结构体或数组进行清零操作的一种最快方法 1。CAsyncSocket:AsyncSelect调用该成员函数的请求事件通知套接字。BOOL AsyncSelect(long lEvent = FD_READ | FD_WRITE | FD_OOB | FD_ACCEPT | FD_CONNECT | FD_CLOSE );参数 lEvent指定网络活动的组合应用程序感兴趣的位掩码。 FD_READ 希望接收准备的通知阅读。 数据,则可读取时

3、,FD_WRITE 希望接收通知。 FD_OOB 希望接收带外数据到达的通知。 FD_ACCEPT 希望接收传入连接的通知。 FD_CONNECT 希望接收连接结果的通知。 当套接字由对等类时,关闭 FD_CLOSE 希望接收通知。如果基类和派生类都定义了“相同名称的成员函数“,那么通过对象指针调用成员函数时,到底调用哪个函数,要根据该指针的原始类型而定,而不是视指针实际所指的对象类型而定。如果用了虚函数,这些情况就不存在了。虚函数的总结:1.如果想在派生类中重新定义一个成员函数,那么就应该在基类中把该函数设为“virtual“。2.以单一指令调用不同函数( 这句话不好理解,下面会解释 ),这

4、种性质就是“ 多态“。3.虚函数是 C+语言的多态性质和动态绑定的关键。4.既然抽象类中的虚函数不打算被调用,我们就不应该定义它,应该把它设为纯虚函数(在函数声明后加上“=0“即可)。5.拥有纯虚函数的类叫做抽象类,不能产生出对象实例,但是可以拥有指向抽象类的指针,以便于操作抽象类的各个派生类。6.虚函数派生下去仍是虚函数,而且可以省略 virtual 关键词。AfxMessageBox()与 MessageBox()的区别 AfxMessageBox 的函数原型int AfxMessageBox( LPCTSTR lpszText, UINT nType = MB_OK, UINT nIDH

5、elp = 0 );int AFXAPI AfxMessageBox( UINT nIDPrompt, UINT nType = MB_OK, UINT nIDHelp = (UINT) 1 );在 第一种形式中,lpszText 表示在消息框内部显示的文本,消息框的标题为应用程序的可执行文件名(如 Hello)。在第二种形式 中,nIDPrompt 为要显示的文本字符串在字符串表中的 ID。函数调用时会自动从字符串表中载入字符串并显示在消息框中。nType 为消息框中显示的 按钮风格和图标风格的组合,可以采用|(或)操作符组合各种风格。 按钮风格MB_ABORTRETRYIGNORE 消息框

6、中显示 Abort、Retry、Ignore 按钮MB_OK 显示 OK 按钮MB_OKCANCEL 显示 OK、Cancel 按钮MB_RETRYCANCEL 显示 Retry、Cancel 按钮MB_YESNO 显示 Yes、No 按钮MB_YESNOCANCEL 示 Yes、No、Cancel 按钮图标风格MB_ICONINFORMATION 显示一个 i 图标,表示提示MB_ICONEXCLAMATION 显示一个惊叹号,表示警告MB_ICONSTOP 显示手形图标,表示警告或严重错误MB_ICONQUESTION 显示问号图标,表示疑问与 AfxMessageBox 类似的函数 Me

7、ssageBox,它是 CWnd 的类成员函数:int MessageBox( LPCTSTR lpszText,LPCTSTR lpszCaption = NULL,UINT nType = MB_OK );两个函数的区别:AfxMessageBox 比 MessageBox 简单一些,因为它是一个全局函数所以不需要对应的一个窗口类,但是不能控制消息框标题,常用于调试程序时的内部数据输出或警 告;MessageBox 比较正式,常用在要提交的应用程序版本中,可以控制标题内容而不必采用含义不明的可执行文件名为标题。举例:AfxMessageBox(“Are you sure?”,MB_YESN

8、O|MB_ICONQUESTION);int a = MessageBox(TEXT( “是否确认删除?“ ), TEXT(“Warning!“),4);if (a = 6)AfxMessageBox(“Yes“);elseAfxMessageBox(“No“);(其中#define IDYES 6 #define IDNO 7)VC 中可调用的函数大致可分三类:1.类自己的函数,只对类自己的数据成员有作用;2.AFX 小组在设计 Application Framworks 时设计的全局函数,多冠在 Afx 前缀,在包含了 MFC 库/框架的工程中可用;3.Windows API 的全局函数。对所有 Windows 平台下的程序设计都可以调用,如 Vb,Vc,Dephi 等等。你说的 MessageBox 是属于 CWnd 类的成员函数,只能在 CWnd 和 CWnd 的派生类的对象中调用;AfxMessageBox 则可在任何地方调用。另外对应的还有: :MessageBox()这个 windows API 的全局函数。上述中 1和 3 一般有一个区别,就是 1 要比 3 少一个参数,即窗口句柄。大家知道,这个句柄是通过 this 指针曲折转换得到的,不用程序员操心了。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育教学资料库 > 精品笔记

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。