WINDOWS编程学习笔记(三)

day11
**********************************************************************************************
键盘消息
1.键盘消息的分类
	WM_KEYDOWN		按键被按下时产生
	WM_KEYUP		按键被放开时产生
	WM_SYSKEYDOWN	系统键按下时产生  比如ALT、F10
	WM_SYSKEYUP		系统按键放开时产生
	附带信息:
		WPARAM --- 按键的Virtual Key			
		LPARAM --- 按键的参数,例如按下的次数
	1.虚拟按键值无法区分大小写的值,所以需要翻译
	2.WM_KEYDOWN和WM_KEYUP未必是成对出现
	3.系统按键不产生虚拟按键值	
2.WM_CHAR:字符消息
	TranslateMessage在转换WM_KEYDOWN消息时,对于可见字符可以产生WM_CHAR,不可见字符无此消息
	附带信息:
		WPARAM --- 输入的字符的ASCII字符编码值
		LPARAM --- 按键的相关参数


day12
************************************************************************************************
鼠标消息
1.分类
	基本鼠标消息
		WM_LBUTTONDOWN		鼠标左键按下
		WM_LBUTTONUP		鼠标左键抬起
		WM_RBUTTONDOWN		鼠标右键按下
		WM_RBUTTONUP		鼠标右键抬起
		WM_MOUSEMOVE		鼠标移动消息
	双击消息
		WM_LBUTTONDBLCLK  	鼠标左键双击
		WM_RBUTTONDBLCLK	鼠标右键双击
	滚轮消息
		WM_MOUSEWHEEL		鼠标滚动消息
2.鼠标基本消息
	附带信息:
		WPARAM:其他按键的状态,例如ctrl/shift等等
		IPARAM:鼠标的位置,窗口客户区坐标系
			LOWORD(lParam)	X坐标位置
			HIWORD(lParam)	Y坐标位置
		一般情况下鼠标按下/抬起成对出现。在鼠标移动过程中,会根据移动速度产生一系列的WM_MOUSEMOVE消息
3.双击消息
	附带信息:	
		WPARAM:其他按键的状态,例如ctrl/shift等等
		IPARAM:鼠标的位置,窗口客户区坐标系
			LOWORD(lParam)	X坐标位置
			HIWORD(lParam)	Y坐标位置
	消息产生顺序
		以左键双击为例:
			WM_LBUTTONDOWN		鼠标左键按下
			WM_LBUTTONUP		鼠标左键抬起
			WM_LBUTTONDBLCLK  	鼠标左键双击
			WM_LBUTTONUP		鼠标左键抬起
		使用时需要在注册窗口类的时候添加CS_DBLCLKS风格
4.鼠标的滚轮消息
	附带信息:
		WPARAM:
			LOWORD --- 其他按键的状态
			HIWORD --- 滚轮的偏移量,通过正负值表示滚动的方向
					   正:向前滚动   负:向后滚动
		IPARAM:鼠标当前的位置,屏幕坐标系
			LOWORD(lParam)	X坐标位置
			HIWORD(lParam)	Y坐标位置
	使用:通过偏移量,获取滚动的方向和距离
	
		
day13
***************************************************************************************************
1.定时器消息:WM_TIMER
	产生时间:
		在程序中创建定时器,当到达时间间隔时,GetMessage会向程序发送一个WM_TIMER消息。
		定时器的精度是毫秒,但是准确度很低。	
	为什么准备度不高?
		因为GetMessage不会时时刻刻检测定时器的消息,所以,只有等到GetMessage空闲的时候,才会检测。
	附带信息:	
		wPARAM:定时器ID
		lPARAM:定时器处理函数的指针
2.创建和销毁定时器
	1.创建定时器
		UINT_PTR SetTimer(
			HWND		hWnd,		//定时器窗口句柄
			UINT_PTR	nIDEvent,	//定时器ID
			UINT		uElapse,	//时间间隔(单位:毫秒)
			TIMERPROC	lpTimerFunc	//定时器处理函数指针(一般不使用,为NULL)
		);创建成功,返回非0
	2.关闭定时器
		BOOL KillTimer(
			HWND	hWnd,			//定时器窗口句柄
			UINT_PTR	nIDEvent,	//定时器ID
		);
		
		
day14
**************************************************************************************************
1.菜单分类
	1.窗口的顶层菜单
	2.弹出式菜单
	3.系统菜单
	HMENU类型表示菜单,ID表示菜单项
2.资源相关
	1.资源脚本文件: *rc文件(脚本文件)
	2.编译器:RC.EXE
	
	
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
		
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值