Windows编程(4)|SDK键盘鼠标消息的简单处理

先看一下键盘按键按下时的消息

 

鼠标消息

 

下面是我对键盘和鼠标的一个消息处理过程,这只是消息处理函数部分

//窗口过程函数的实现(消息处理函数)
LRESULT CALLBACK MyWindowProc(
							  HWND hwnd,      // handle to window 窗口句柄
							  UINT uMsg,      // message identifier	消息标识
							  WPARAM wParam,  // first message parameter
							  LPARAM lParam   // second message parameter
							  )


{
   switch(uMsg)
   {
   case WM_PAINT:
	   {
		   TCHAR str[] = _T("这是一个Windows的SDK程序!");
		   HDC hDc;
		   PAINTSTRUCT  Ps;
		   hDc = BeginPaint(hwnd,&Ps); //获取设备环境句柄
		   SetTextColor(hDc,RGB(13,25,200)); //设置文本颜色
		   TextOut(hDc,0,0,str,18); //输出文字
		   EndPaint(hwnd,&Ps); //释放资源
		   break;
	   }
   case WM_CLOSE: //点击"X"按钮时发送此消息,使消息循环停止 
	   if(IDYES == MessageBox(hwnd,_T("是否要退出?"),_T("提示"),MB_YESNO))
	   {
          DestroyWindow(hwnd); //销毁窗口,发送WM_DESTROY消息,注意程序进程还没退出
	   }	   
	   break;
   case WM_DESTROY:
	   PostQuitMessage(NULL); //进程结束,完全退出程序
	   break;
   case WM_LBUTTONDOWN://鼠标按下消息
	   {
          if (wParam&MK_SHIFT)
          {
			  MessageBox(hwnd,_T("Shift和鼠标左键同时按下"),_T("消息框"),MB_OK);
          }
		  else
		   MessageBox(hwnd,_T("只是鼠标左键按下,Shift键没按下"),_T("消息框"),MB_OK);
	   }
	   
	   break;
   case WM_KEYDOWN://按键按下
	   {
		   switch(wParam)
		   {
		   case VK_END:
			   MessageBox(hwnd,_T("End键按下"),_T("消息框"),MB_OK);
               break;
		   }
	   };
	   break;
   case WM_KEYUP://释放按键
	   {
	       switch(wParam)
		   {
		   case VK_RETURN:
			   MessageBox(hwnd,_T("Enter键释放"),_T("消息框"),MB_OK);
			   break;
		   }
	   };
	   break;
   case WM_CHAR://按下一个字符按键
	   {
	     switch(wParam)
		 {
		 case 0x41:
			  MessageBox(hwnd,_T("A键按下"),_T("消息框"),MB_OK);
			  break;
		 }
         
	   };
	  
	   break;
   default:
	   return DefWindowProc(hwnd,uMsg,wParam,lParam); //处理未处理的消息
	   break;
   }

   return 0;

}


 

 

 

 

  • 1
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值