标签:
编写窗口程序的步骤:
1.定义WinMain函数
2.定义窗口处理函数(自己定义,处理消息)
3.注册窗口类(向操作系统写入数据)
4.创建窗口(在内存中创建窗口)
5.显示窗口(根据内存数据,在显示器显示出来)
6.消息循环
7.消息处理(提取、翻译、派发消息)
#include "stdafx.h"
#include "WinCreate.h"
//2.定义窗口处理函数
LRESULT CALLBACK WndProc(HWND hWnd, UINT nMsg, WPARAM wParam, LPARAM lParam)
{
return DefWindowProc(hWnd, nMsg, wParam, lParam);
}
//1.定义WinMain函数
int APIENTRY WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPSTR lpCmdLine,
int nCmdShow)
{
//3.注册窗口类(往操作系统中写数据)
WNDCLASS wc = { 0 };
wc.cbClsExtra = 0;//开缓冲区
wc.cbWndExtra = 0;//开缓冲区
wc.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1);
wc.hCursor = NULL;
wc.hIcon = NULL;
wc.hInstance = hInstance;
wc.lpfnWndProc = (WNDPROC)WndProc;
wc.lpszClassName = (LPCTSTR)"Main";
wc.lpszMenuName = NULL;
wc.style = CS_HREDRAW | CS_VREDRAW;
RegisterClass(&wc);//将以上所有赋值全部写入操作系统
//4.创建窗口(申请一块内存,向这个内存中扔关于窗口的数据)
HWND hWnd = CreateWindow((LPCTSTR)"Main", (LPCTSTR)"window", WS_OVERLAPPEDWINDOW, 100, 100,
500, 500, NULL, NULL, hInstance, NULL);
//5.显示窗口(根据内存中的数据,在显示器中画出来)
ShowWindow(hWnd, SW_SHOW);
//UpdateWindow(hWnd);//刷新窗口(再画一遍)
//6.消息循环
MSG uMsg = { 0 };
while ( GetMessage(&uMsg, NULL, 0, 0) )
{
//7.消息处理
TranslateMessage(&uMsg);
DispatchMessage(&uMsg);//派发给自己定义的函数
}
return 0;
}
标签:
原文地址:http://www.cnblogs.com/csqtech/p/5122539.html