首页 技术 正文
技术 2022年11月23日
0 收藏 701 点赞 4,064 浏览 1956 个字

1.Windows程序的运行本质:基于消息,事件驱动(Message Based,Event Driven).
2.程序调用GetMessage API循环获取消息,程序的生命靠它来推动.
MSG msg;
while (GetMessage(&msg, NULL, NULL, NULL)) {
TranslateMessage(&msg);
DispatchMessage(&msg);
}
3.WinMain 的四个参数由操作系统传递进来.
int CALLBACK WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance,
LPSTR lpCmdLine, int nCmdShow)
4.TranslateMessage 是为了将键盘消息转化,DispatchMessage 会将消息传给窗口函数去处 理.DispatchMessage 经过USER 模块的协助,才把消息交到窗口函数.
5.Call back 函数,意思是指[在你的程序中,被Windows系统调用]的函数。这些函数虽然由你设计,但是永远不会也不该被你调用,它们是为Windows系统准备的.
LRESULT CALLBACK WndProc(HWND hWnd,UINT message,WPARAM wParam,LPARAM lParam)
6.WndPro函数的Switch的default必须调用:DefWindowProc,这是Windows内部预设的消息处理函数.
7.Message Map:消息或系统命令在列表中绑定通用格式的函数(函数指针),在WndPro中对消息或系统命令对比,调用相应的绑定函数.
8.Modal对话框的激活与结束,靠的是DialogBox和EndDialog两个API函数.处理过消息之后,应该传回TRUE;如果未处理消息,则应该传回FALSE.
9.执行线程的结束有两种情况,一种是寿终正寝(ExitThread),一种是未得善终(TerminateThread).
10.执行线程的优先权范围从0(最低)到31(最高).
11.由行为决定设计,怎么用从而怎么达到目的的设计结构.
12.[对象,封装,类][继承,衍生,子类继承父类所有的成员变量和函数][虚函数代表衍生,继承函数接口,变异函数内容]
13.调用父类别的函数,你必须使用scope resolution operator(::)明确指出.
14.(虚函数除外)调用到哪个函数,必须视指针的原始类型而定,与指针实际所指之对象无关.
15.如果你预期衍生类别有可能重新定义某一个成员函数,那么你就在基础类别中把此函数设为virtual.
16.相同的指令却唤起了不同的函数,这种性质称为Polymorphism(多态).Polymorphism的目的,就是要让处理[基础类别之对象]的程序代码,能够完全透通地继续适当处理[衍生类别之对象].
17.纯虚拟函数不需定义其实际动作,它的存在只是为了在衍生类别中被重新定义,只是为了提供一个多态接口.
18.虚拟函数衍生下去仍为虚拟函数,而且可以省略virtual 关键词.
19.静态Static成员变量在类外初始化,独立于对象之外.static 成员函数[没有this 参数]的这种性质,不需要借助任何对象,就可以被调用执行.
20.C++的template有两种,一种针对function,另一种针对class.
21.在程序的任何地方放置TRACE宏,例如:TRACE(“Hello World”);
22.CObject是万类之首,凡类别衍生自CObject者,得以继承数个对象导向重要性质.
23.AfxOutputDebugString 将字符串输往Debug调试器.
24.CWinApp代表程序本体.CFrameWnd代表一个主框窗口(Frame Window).
25.要把某个函数用作callback 函数,就必须告诉C++ 编译器,不要放this指针作为该函数的最后一个参数。两个方法可以做到这一点:1. 不要使用类别的成员函数(也就是说,要使用全域函数)做为callback 函数。2. 使用static 成员函数。也就是在函数前面加上static修饰词。
26.凡声明为static 的东西(不管函数或变量)都并不和对象结合在一起,它们是类别的一部份,不属于对象。
27.有关文件读写的动作在CDocument 的Serialize 函数进行,有关画面显示的动作在CView 的OnDraw或OnPaint 函数进行。
28.任何一个类别只要在声明时使用DECLARE_DYNAMIC或DECLARE_DYNCREATE 或DECLARE_SERIAL宏,就会拥有一个静态的(static)CRuntimeClass 内嵌对象。
29.执行线程函数的执行期,也就是该执行线程的生命期。

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:8,951
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,477
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,290
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,107
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,739
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,773