[MFC学习]底层窗口的实现(第二节课)

#include<windows.h>

 

int WinMain(

HINSTANCE hInstance,//应用程序的实例句柄

HINSTANCE hPrevInstance,//上一个应用程序的句柄。在win32环境下,参数一般为null,不起作用

LPSTR IpCmdline,//char*argv[]命令行的参数

int nShowCmd//显示命令最大化最小化

)

 {

//winapi宏定义的用处就是参数的传递顺序,从右到左依次入栈,而且在函数返回的时候清空堆栈

//1.设计窗口

WNDCLASS wc;

wc.cbClsExtra=0;//额外的对类的内存

wc.cbWndExtra=0;//窗口额外的额内存

wc.hbrBackground= (HBRUSH)GetStockObject(WHITE_BRUSH);//设置背景,调用api

//离线的msdn文档进行查看

wc.hCourse=LOadCursor(NULL,IDC_HAND)//设置光标,第一个空时代表系统提供的默认光标,hand也就是鼠标变成小手

wc.hIcon=LoadIcon(NULL,IDI_ERRO)//系统默认的图标

wc.hInstance=Instance;//应用程序实例句柄,用来传入winmain中的形参即可

//wc.IpfnWndProc=WindowProc//窗口过程的函数,也就是回调函数,也就是要自己写的,先下定义并注释掉以便后续的操作

wc.LpszClassName=TEXT("WIN");//指定窗口类名称

wc.LpsMenuName=NULL;//菜单名称

wc.style=0;//显示风格。零代表默认风格。

//2.注册窗口 记住注册的英文单词register

RegisterClass(&wc);//注册窗口类,传入窗口类的地址

 

//3.创建窗口

CreateWIndow();//11个参数且不能省略,调用文档进行查看

 

//4.显示和更新

//5.通过循环取消息

/*

HWND hwnd;主窗口句柄

UINT message;具体消息名称

WPARAM wParam;附加消息,键盘消息

LPARAM lparam;附件消息,鼠标消息

DWORD time;消息产生时间

POINT pt;附加消息

*/

MSG msg;

//6.处理消息也就是窗口过程

while(1)

{

 if (GetMessage()

return 0;

}

posted @ 2019-08-31 15:42  Cyber_Shady  阅读(221)  评论(0编辑  收藏  举报