API
接口,(函数)传统编程方式
MFC
(交互式编程)(类库)有类向导
MFC为我们的程序提供了WinMain()、注册了窗口类、创建了窗口甚至提供了窗口函数,留给我们做的只是写出响应消息的处理函数,而这些消息和处理函数如何对应起来还要靠MFC六大关键技术之一的Message Mapping(消息映射)。消息映射机制的目的是首先搭建起消息和消息处理函数对应的大框架,再通过宏的机制让程序员能够方便地添加消息和消息处理函数之间的对应关系。
win32控制台(_tmain())手动,win32项目(_twinmain())半手动,mfc程序为成品(按需求修改即可)。新建theApp,进入AfxWinmain:theapp=getA,注册,线程,调用run()
窗口
是windows应用程序的基本操作单元。是应用程序与用户进行交互的接口环境。也是系统管理应用程序的基本单位。
句柄
(给窗口的编号)用来标识应用程序中的不同对象和同类对象不同实例。如窗口、按钮、输出设备、文件等。如HWND窗口句柄,HPEN画笔句柄
消息
消息描述事件发生的信息。如点击鼠标会产生一条特定的消息,该消息标识鼠标按键事件的发生。Windows应用程序通过消息进行Windows应用程序间的通信。WM表窗口消息,BM按钮控件消息。
常用消息:WM_LBUTTONDOWN点击鼠标左键,WM_PAINT发生用户区移动或窗口大小改变时传给WinProc处理的消息等。
Windows应用程序组成,由5种文件组成
- c/cpp:源文件
- .h:头文件
- def:模块定义文件
- rc:资源描述文件
- vcproj:编译后生成项目文件,再编译就成可执行文件了。
源程序组成结构
WinMain入口函数
窗口函数WinProc
其中主函数WinMain有三个组成部分
- 函数说明:int WinMain()
- 初始化:包括四步:(1)窗口类定义,即加载图标、光标等
wcex.hIcon=LoadIcon()
。(2)注册:RegisterClassEx()
。(3)创建窗口:CreateWindow()
。(4)显示窗口:ShowWindow()
与upDateWindow()。 - 消息循环:
while(GetMessage(&Msg,NULL,0,0))///从消息队列读取消息 { TranslateMessage(&Msg);//将消息虚拟键转为字符消息 DispatchMessage(&Msg);//将消息派发到不同窗口。 }
窗口函数主体是消息处理语句,由一系列case组成。
LRESULT CALLBACK WndProc()
{
switch(message)
case:
…
}
系统键、组合键
Windows应用程序由**入口函数winMain()与窗口函数WndProc()**构成基本框架
get()方法获取资源,post方法发送请求。
常用消息
wm:窗口消息
WM_LBOTTONDOWN
WM_KEYDOWN按下非系统键
一个MFC程序运行过程:https://www.cnblogs.com/qhdwhy184/articles/2442423.html