WinMain函数的基本框架,窗口定义、窗口创建、消息循环及窗口过程函数
略微学习《VC++深入详解》后,由于自己有健忘的坏习惯,特意发布文章来巩固自己的知识(以及方便自己日后查阅学习) |
首先,创建一个最基本的窗口的要求是创建一个工程,步骤如下:文件–>新建–>工程–>Win32 Application
![在这里插入图片描述](https://img-blog.csdnimg.cn/20200924214606990.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0NOTFdX,size_16,color_FFFFFF,t_70#pic_center)
当创建好工程后,就可以在里面大显身手了!
LRESULT CALLBACK WinSunProc(
HWND hwnd, // handle to window
UINT uMsg, // message identifier
WPARAM wParam, // first message parameter
LPARAM lParam // second message parameter
> 由于WinSunProc需要自己定义,所以就先行定义了
其次,需要用WNDCLASS定义一下自己窗口的属性(WNDCLASS已经为我们定义好了所有的基本属性,因此我们只需要像填写填空题一样填写属性就好)
WNDCLASS wndcls;
wndcls.cbClsExtra=0;
wndcls.cbWndExtra=0;
wndcls.hbrBackground=(HBRUSH)GetStockObject(BLACK_BRUSH);
wndcls.hCursor=LoadCursor(NULL,IDC_CROSS);
wndcls.hIcon=LoadIcon(NULL,IDI_ERROR);
wndcls.hInstance=hInstance;
wndcls.lpfnWndProc=WinSunProc;
wndcls.lpszClassName="Liuwenwei";
wndcls.lpszMenuName=NULL;
wndcls.style=CS_HREDRAW | CS_VREDRAW;
RegisterClass(&wndcls);
//创建的WNDCLASS的基本属性
当然,创造好东西之后也需要向相关部门申请使用,而我们申请的代码为:RegisterClass(&wndcls)(参数为创建对象的指针)
创建好基本属性后并且通过申请后,为了让我们的窗口能够被看到并且能够被调用,我们还要使用接下来几个函数
CreateWindow(顾名思义,它能够让你注册好的属性创建成为一个窗口)
ShowWindow(让你的窗口能够展示出来,让更多的人看到)
UpdateWindow(由于跟窗口有各种各样的互动,所以需要刷新窗口让它产生新东西)
做好了基本的窗口,我们就可以点击调试来查看自己创建的窗口了
看着黑不溜秋的一片,你是否也会陷入沉思,总感觉自己的窗口少了一些互动,所以接下来,就是整个窗口的灵魂:函数体的编译(窗口过程函数),该部分通常通过