`
jiav_net
  • 浏览: 104462 次
文章分类
社区版块
存档分类
最新评论

MFC Windows程序设计读书笔记第一章

 
阅读更多

以前也读过,但是总是过一阵子就忘记了,以后养成读书做笔记的习惯。

一 关于匈牙利标记法

b BOOL

c or ch字符

clrCOLORREF

cx,cy水平或垂直距离

dwDWORD

h句柄

l 长整形

n 整形

p指针

sz 以零结尾的字符串

w WORD

wnd CWnd

strCString

二 常用Afx函数

AfxAbort 无条件终止一应用程序,通常在不可恢复错误发生时调用

AfxBeginThread 创建新线程并开始执行

AfxEndThread终止当前执行线程

AfxMessageBox显示Windows消息框

AfxGetApp 返回指向应用程序对象的指针

AfxGetAppName 返回应用程序的名称

AfxGetMainWnd 返回指向应用程序主窗口的指针

AfxGetInstanceHandle 返回标识当前应用程序实例的句柄

AfxGetRegisterWndClass 为MFC应用程序注册自定义的WNDCLASS类

三 CWinApp类的可覆盖方法

InitInstance函数: 为应用程序提供一个自身初始化的机会,是用来执行程序每次开始都要进行初始化工作的最好地方,返回

TRUE程序执行,返回FALSE则关闭应用程序。

ExitInstance函数: 释放InitInstance函数分配的内存或其他资源。注意调用基类版本。

OnIdle函数: 可以执行垃圾回收等优先级低的后台处理事务。

PreTranslateMessage函数:在消息被调度前进行预处理。

四 MFC如何使用应用程序对象

winmain.cpp中包含AfxWinMain函数,起作用相当于Main。AfxWinMain函数使用CWinApp对象,从而CWinApp对象必须声明为全局。运行开始后,AfxWinMain调用AfxWinInit,并将hInstance,nCmdShow以及其他AfxWinMain函数参数复制给应用程序对象的数据成员,然后调用InitApplication(Win32中没意义)和InitInstance。当AfxWinInit和InitApplication以及InitInstance返回值均为TRUE时,AfxWinMain才执行pThread->Run();开始执行消息循环,知道WM_QUIT消息从队列中被检索到。这是Run跳出循环,并调用ExitInstance,返回到AfxWinMain中。

五 消息映射使用

1.通过将DECLARE_MESSAGE_MAP语句添加到类声明中,声明消息映射。

2.通过放置标识消息的宏来执行消息映射,相应的类将在对BEGIN_MESSAGE_MAP和END_MESSAGE_MAP的调用之间处理消息。

3.添加成员函数来处理消息。

在类声明中,DECLARE_MESSAGE_MAP通常是最后的语句,因为它使用C++关键字制定成员可见度。在其后面插入语句需要使用public、protected或者private开头。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics