消息的概念和窗口的创建

int WINAPI WinMain(//Windows应用程序的入口点,属于Windows API函数!!
	
	//实例句柄,一个运行中的程序就是一个实例
	//由于是API函数,因此必须陷入操作系统才能运行
	//因此Windows应用程序不同于普通的控制台程序
	  //一般控制台程序不需要系统调用,因此程序可以直接运行
	  //而Windows应用程序需要将程序的句柄传给WinMain函数交由操作系统运行
	HINSTANCE	hInstance,

	//前驱兄弟示例,即一个程序开两个,第一个是第二个的前驱兄弟示例
	//而第一个示例没有前驱实例,因此该参数为NULL
	//对于Win32程序该参数为NULL,因此用不着
	HINSTANCE	hPrevInstance,

	//LP指long pointer,即32位的长指针,指向命令行命令字符串的指针
	//即使是图形界面也是可以接受命令行参数的
	//比如在控制台打开一个图形界面的程序,可以输入一定的命令行参数
	//比如:notepad 1.txt,1.txt就是一个命令行参数,并且是一个图形界面的记事本
	LPSTR		lpCmdLine,
	//表示程序状态,是以最大化显示、最小化显示还是隐藏在任务栏等
	//由状态宏表示,比如SW_HIDE、SW_MAXIMSIZE等
	int			nCmdShow
);//由于这是API函数,因此是操作系统调用的,因此这些参数都是由操作系统赋值,当然也可以人为干预


typedef struct {//窗口类型

	//窗口类型,类型宏
	//比如有CS_HREDRAW、CS_VREDRAW
	  //CS即class stlye,类类型的意思
	  //一个是水平重画另一个是垂直重画
	  //即窗口水平方向和垂直方向的大小发生改变时窗口需要重画
	  //可以用位或连接CS_HREDRAW | CS_VREDRAW
	UINT		style;

	//lpfn表示一个函数指针
	//即为窗口响应函数(回调函数),响应窗口接受到的消息
	//比如窗口接受到了一个鼠标左击消息,然后调用lpfnWndProc函数响应该消息
	//窗口接收到消息后不需要程序员自己调用该函数来处理,操作系统可以自动完成改调用过程
	//而消息响应代码需要程序员自己编写
	WNDPROC		lpfnWndProc;

	//窗口类的附加内存信息
	//如果窗口类对象内存空间不够可以指定这两个参数
	//比如指定1024表示为该对象增加1K内存空间
	//默认初始化为0
	int			cbClsExtra;
	int			cbWndExtra;

	HINSTANCE	hInstance;//该窗口所在的应程序实例号,可以用WinMain函数的形参对其进行赋值

	//图标句柄
	//使用LoadIcon(HINSTANCE hInstance, LPCSTR lpInconName)函数加载窗口的图标
	//hInstance为包含要加载的图标实例(图标属于一种程序并非简单的一张图片)
	  //如果是系统的标准图标则该参数传NULL
      //系统会根据VC环境变量中的搜索路径加载相应的标准图标
	//系统标准图标由图标宏定义
	HICON		hIcon; 

	//光标句柄
	//使用LoadCursor(HINSTANCE hInstance, LPCSTR lpCursorName)加载光标
	//使用方法和LoadIcon类似,光标也是一种程序,系统标准光标也有光标宏
	//图标、光标等都属于Windows的标识Identifier,因此宏都是以ID打头的
	//比如IDI标识ID_Icon,IDC标识ID_Cursor,这里的光标是指鼠标而不是字符光标!!!
	HCURSOR		hCursor;

	//画刷句柄
	//使用GetStockObject(int fnObject)函数加载画刷
	//参数为画刷宏,比如BLACK_BRUSH,黑色画刷等
	//该函数可以获得笔、画刷、字体等对象,具体返回哪个对象有参数宏决定
	//因为可以返回多种类型对象,因此返回值需要进行强制类型转换
	//因此赋值时应该这样使用hbrBackground = (HBRUSH)GetStockObject(BLACK_BRUSH);
	HBRUSH		hbrBackground;

	//LPC为指向常量的指针,TSTR表示支持UNICODE的字符串指针
	//sz表示以'\0'为结束标志的字符串,s即string,z即zero
	LPCTSTR		lpszMenuName;//菜单名
	LPCTSTR		lpszClassNmae;//窗口类型的名字,即产品名,即牌子(商标)!!这也是创建窗口的唯一标识!!
} WNDCLASS, *PWNDCLASS;


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值