[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;
}