一、窗口的创建
分五步:
1、设计(对图标之类的各种东西进行初始化)
2、注册(调用函数RegisterClassEx())
3、创建(调用函数CreateWindow())
4、显示(调用函数ShowWindow())
5、消息循环(主要部分)
附窗口创建的代码:
#include<windows.h>
//窗口消息处理函数
LRESULT CALLBACK WndProc(HWND hWnd,UINT uMsg,WPARAM wParam,LPARAM lParam)
{
switch(uMsg)
{
case WM_CLOSE: //点x 窗口关闭的消息
::PostQuitMessage(0); //发送推出的消息
break;
}
return ::DefWindowProc(hWnd,uMsg,wParam,lParam);
}
int CALLBACK WinMain(HINSTANCE hinstance,
HINSTANCE hPrelnstance,
LPSTR pCmdLine,
int nCmdShow)
{
HBRUSH hBrush = ::CreateSolidBrush(RGB(255,255,255));
//1、设计
WNDCLASSEX wndclass;
wndclass.cbClsExtra = 0;
wndclass.cbWndExtra = 0; //是否要分配额外的空间
wndclass.cbSize = sizeof(WNDCLASSEX);
wndclass.hbrBackground = hBrush; //背景颜色
wndclass.hCursor = LoadCursor(NULL,MAKEINTRESOURCE(IDC_HELP)); //光标
wndclass.hIcon = NULL; //窗口图标
wndclass.hIconSm = NULL; //窗口左上小图标
wndclass.hInstance = hinstance; //当前实例的句柄
wndclass.lpfnWndProc = WndProc; //消息处理函数
wndclass.lpszClassName = “-_-“; //注册窗口类的名字
wndclass.lpszMenuName = NULL; //菜单名
wndclass.style = CS_HREDRAW|CS_VREDRAW; //窗口类的样式//2、注册
if(::RegisterClassEx(&wndclass) == FALSE)
{
::MessageBox(NULL,”注册失败”,”提示”,MB_OK);
return 0;
}//3、创建
HWND hWnd = ::CreateWindow(“-_-“,”哒哒哒”,WS_OVERLAPPEDWINDOW,100,0,500,500,NULL,NULL,hinstance,NULL);
if(hWnd == NULL)
{