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

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

 

一 关于匈牙利标记法

 

b                 BOOL

c or ch        字符

clr               COLORREF

cx,cy           水平或垂直距离

dw              DWORD

h                 句柄

l                  长整形

n                 整形

p                 指针

sz               以零结尾的字符串

w                WORD

wnd            CWnd

str              CString

 

 

二 常用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开头。

你可能感兴趣的:(c,windows,读书,mfc,化工)