Win32学习(第二天) Win32框架

第二天讲述Win32框架(讲解的点主要是)
1、窗口的注册
2、窗口的创建
Win32创建窗口的步骤
1、入口函数
2、注册窗口类
3、创建窗口
4、显示窗口
5、更新窗口
6、消息循环
7、窗口结束
窗口注册部分代码注释

//  函数:  MyRegisterClass()
//
//  目的:  注册窗口类。
//
ATOM MyRegisterClass(HINSTANCE hInstance)
{
	WNDCLASSEX wcex;//其尾部出现EX,表示是这个类型的一个拓展类型
	//如果想要在Window中绘制一个窗口,必须先注册一个窗口类
	
	wcex.cbSize = sizeof(WNDCLASSEX);//表示其自身需要多大的变量

	wcex.style			= CS_HREDRAW | CS_VREDRAW;//窗口类风格(CS_HREDRAW表示水平刷新 CS_VREDRAW表示垂直刷新)
	wcex.lpfnWndProc = WndProc;//函数指针,注册窗口时指明该窗口由谁来处理用户事件,这个函数名可以自定义但是必须带四个参数
	wcex.cbClsExtra		= 0;//额外的类信息
	wcex.cbWndExtra		= 0;//额外的窗口信息
	wcex.hInstance		= hInstance;//窗口的句柄
	wcex.hIcon			= LoadIcon(hInstance, MAKEINTRESOURCE(IDI_MY));//图标
	wcex.hCursor		= LoadCursor(NULL, IDC_ARROW);//光标 IDC_ARROW 箭头型光标
	wcex.hbrBackground	= (HBRUSH)(COLOR_WINDOW+1);//窗口客户区背景颜色
	wcex.lpszMenuName	= MAKEINTRESOURCE(IDC_MY);//窗口菜单名
	wcex.lpszClassName	= szWindowClass;//窗口类名
	wcex.hIconSm		= LoadIcon(wcex.hInstance, MAKEINTRESOURCE(IDI_SMALL));//图标

	return RegisterClassEx(&wcex);//调用系统的注册窗口类函数去注册上面准备好的类名
}

窗口的创建部分代码注释

在这里
//
//   函数:  InitInstance(HINSTANCE, int)
//
//   目的:  保存实例句柄并创建主窗口
//
//   注释: 
//
//        在此函数中,我们在全局变量中保存实例句柄并
//        创建和显示主程序窗口。
//
BOOL InitInstance(HINSTANCE hInstance, int nCmdShow)
{
   HWND hWnd;

   hInst = hInstance; // 将实例句柄存储在全局变量中
   //创建窗口
   hWnd = CreateWindow(szWindowClass, //窗口类名(这里要与前面的注册窗口类型的类型名保持一致)
	   szTitle/*_T("我的窗口")*/,//窗口标题名(可以直接在这里更改窗口的标题名)
	   WS_OVERLAPPEDWINDOW,//窗口的风格
      CW_USEDEFAULT, //从桌面的左上角为原点,x坐标是多少(CW_USEDEFAULT)表示默认
	  0,//y坐标,如果x使用CW_USEDEFAULT,y会自动匹配y坐标,否则y坐标就是这个参数不变
	  CW_USEDEFAULT,//窗口宽度,使用CW_USEDEFAULT,自动匹配窗口宽度
	  0,//窗口高度(窗口的宽高,包含了标题栏和边框的
	  NULL,//父窗口句柄
	  NULL, //菜单句柄,给null时表示用注册时的菜单,否则用自己重新定义的菜单
	  hInstance,//实例句柄
	  NULL);//预留信息

   if (!hWnd)//当窗口创建不成功时
   {
      return FALSE;
   }

   ShowWindow(hWnd, nCmdShow);//显示窗口
   UpdateWindow(hWnd);//更新窗口

   return TRUE;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值