windows学习笔记1

#include<Windows.h>//底层实现窗口的头文件

//程序的入口函数
//WINAPI 代表__stdcall,参数传递顺序,从右到左依次入栈,并且在函数返回前,清空堆栈

int WINAPI WinMain(
HINSTANCE hInstance ,//应用程序的实例句柄
HINSTANCE hPrevInstance,//上一个应用程序句柄,在win32环境下,参数一般为NULL,不起作用了
LPSTR lpCndLine ,//char *argv[]
int nShowCnd)//显示命令,最大化,最小化
{
//设计窗口
//注册窗口
//创建窗口
//显示和更新
//通过循环取消息
//窗口过程(处理消息)
WNDCLASS wc;
wc.cbClsExtra =0;//类的额外内存
wc.cbWndExtra =0;//窗口额外的内存
wc.hbrBackground =(HBRUSH) GetStockObject(WHITE_BRUSH); //设置背景
wc.hCursor = LoadCursor(NULL,IDC_HAND);//设置光标 如果第一个参数为NULL,代表使用系统使用的光标
wc.hIcon = LoadIcon(NULL,IDI_ERROR);//图标 如果第一个参数为NULL,代表使用系统使用的图标
wc.hInstance = hInstance;//应用窗口实例句柄 传入window中的形参即可
//wc.lpfnWndProc = WindowProc; //回调函数,窗口过程
wc.lpszClassName = TEXT("WIN");//指定窗口类名称
wc.lpszMenuName = NULL;//菜单名称
wc.style = 0;//显示风格,0代表默认风格

//2,注册窗口类
RegisterClass(&wc);

//3,创建窗口
/*
lpClassName 类名
lpWindowName 标题名
dwStyle,WS_OVERLAPPEDWINDOW 风格
x,显示坐标 CW_USEDEFAULT 默认值
y,
nWidth,宽高
nHeight,
hWndParent,父窗口 NULL
hMenu,菜单 NULL
hInstance,实例句柄hInstance
lpParam 附加值,鼠标附加值NULL
*/
CreateWindow(wc.lpszClassName,TEXT("WINDOWS"),WS_OVERLAPPEDWINDOW,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,CW_USEDEFAULT,NULL,NULL,hInstance,NULL);


//显示和更新
ShowWindow(hwnd,SW_SHOWNORMAL);
UpdateWindow(hwnd);

//通过循环取消息
/*
HWND hwnd;主窗口句柄
UINT messege;具体消息名称
WPARAN wParam;附加消息 键盘消息
LPARAN lParam;附加消息,鼠标消息
DWORD time;消息产生时间
POINT pt;附加消息 鼠标消息 x y
*/
MSG msg;


while(1)
{
/*
_Out_LPMSG lpMsg,消息
_In_opt_HWND HWnd ,捕获窗口,填NULL代表捕获所有窗口
_In_UINT wMsgFIlterMin,//最小和最大过滤的消息,一般填入0
_In_UINT wMsgFIlterMax,//填0代表捕获所有的消息
*/
if (GetMessage(&msg,NULL,0,0))
{
break;
}


//不为false
//分发消息
DispatchMessage(&msg);

}

return 0;

}

猜你喜欢

转载自www.cnblogs.com/sunflowers-lanqijiu/p/11762353.html