windows程序设计(五)视窗详解:视窗信息的处理

经历之前几个步骤,视窗就会出现在显示器上。接下来视窗就需要对我们得一些操作来进行相应的响应,通过以下代码来实现相关的功能:

	//从操作系统的消息队列中不断的捡取消息(讯息回圈)
	while (::GetMessage(&msg, NULL, 0, 0)) {
   
   
		::TranslateMessage(&msg); //软键盘转化消息
		::DispatchMessage(&msg);//将消息发送到窗体中
	}

GetMessage函数,其作用是从调用线程的消息队列中检索消息。该函数分派传入的已发送消息,直到已发布的消息可供检索为止。

BOOL GetMessage(
  LPMSG lpMsg,//MSG指针
  HWND  hWnd,//视窗句柄
  UINT  wMsgFilterMin,
  UINT  wMsgFilterMax
);

第一个参数lpMsg为一个指向MSG结构的指针,该结构从线程的消息队列接收消息信息。
第二个参数hWnd为所要获取消息的视窗句柄。该窗口必须属于当前线程。
第三个wMsgFilterMin和第四个参数wMsgFilterMax分别为检索最低消息的整数值与最高消息的整数值。
在例程中,第二、第三 和第四个参数设定为 NULL 或者 0,表示程式接收它自己建立的所有视窗的所有讯息。
它的返回值为BOOL类型如果函数检索到WM_QUIT以外的消息,则返回值为非零。若检索WM_QUIT消息,则返回值为零。

接下来对于MSG结构进行一个说明,MSG的结构如下所示

typedef struct tagMSG {
   
   
  HWND   hwnd;
  UINT   message;
  WPARAM wParam;
  LPARAM lParam;
  DWORD  time;
  POINT  pt;
  DWORD  lPrivate;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值