vc入门宝典(十)

原创 2003年07月08日 12:55:00

消息

何志丹

PreTranslateMessage函数顾名思义,就是在消息被翻译之前,做的一些事.我们可以屏蔽一个键或一个命令.
下面是一些常用消息的相关信息.这些信息放pMsg中.
WM_KEYDOWN
nVirtKey = (int) wParam;  /*虚键值,和ascll码有许多相同的地方 */
lKeyData = lParam;        /*和硬件有关 */   
WM_CHAR
chCharCode = (TCHAR) wParam;   
lKeyData = lParam;             
WM_COMMAND
wNotifyCode = HIWORD(wParam);
wID = LOWORD(wParam);        
hwndCtl = (HWND) lParam;     
WM_LBUTTONDOWN
fwKeys = wParam;        //
xPos = LOWORD(lParam);  //  鼠标横坐标
yPos = HIWORD(lParam);  //  鼠标纵坐标
 fwKeys
MK_CONTROL MK_LBUTTON MK_MBUTTON MK_RBUTTON  MK_SHIFT
WM_MOUSEMOVE
fwKeys = wParam;       
xPos = LOWORD(lParam);  
yPos = HIWORD(lParam); 
 
下面这个例子演示了,PreTranslateMessage的常用用法.
BOOL CPreTranslateDlg::PreTranslateMessage(MSG* pMsg)
{
 if(WM_KEYDOWN == pMsg->message )
  if(0x30 == (int) pMsg->wParam)
  {
   return true;               /*禁止在编辑框中输入0(ascll 0x30)*/
  }                                

 if(WM_CHAR == pMsg->message )
  if('A' == (TCHAR) pMsg->wParam)
  {
   return true;               /*禁止在编辑框中输入'A'*/
  }
  
 if(WM_MOUSEMOVE == pMsg->message) 
  if(MK_CONTROL & pMsg->wParam)  /*当ctrl被按下鼠标移动时,显示相关信息*/
  {
   int xPos = LOWORD(pMsg->lParam); 
   int yPos = HIWORD(pMsg->lParam);
   CString str ;
   str.Format("鼠标的坐标%d %d",xPos,yPos);
   AfxMessageBox(str);
  }

 if(WM_COMMAND == pMsg->message)
  if(ID_1 == LOWORD(pMsg->wParam))//禁止菜单项ID_1,注意按钮发送的是BN_CLICKED
  {
   return true;
  }
 return CDialog::PreTranslateMessage(pMsg);
}

多年收集的VC++电子书,源代码现在免费全部奉献给大家

多年收集的VC++电子书,源代码现在免费全部奉献给大家 这里只列举了一点书籍和代码,我已经将电脑中全部资料上传到网址里面 !!!!!!!!!!!!全部免费!!!!!!!!!!!!!!!!!! 规...
  • e_wsq
  • e_wsq
  • 2013年05月06日 22:41
  • 2651

数字图像处理领域的二十四个典型算法及vc实现

 数字图像处理领域的二十四个典型算法及vc实现、第一章 - 结构之法 算法之道 - 博客频道 - CSDN.NET http://blog.csdn.net/v_july_v/article/...
  • lxw907304340
  • lxw907304340
  • 2015年06月04日 20:24
  • 1482

《Visual c++2013入门经典(第7版)》上机练习:为 Win32 控制台应用程序创建项目

看到《那些年我们追过的Wrox精品红皮计算机图书》有奖活动下载了《Visual c++2013入门经典(第7版)》的试读PDF,开始学习。这本书的读者对象本书针对任何想要学习如何使用 Visual C...
  • testcs_dn
  • testcs_dn
  • 2015年01月25日 14:50
  • 9708

VC入门宝典 by 何志丹

VC入门宝典 by 何志丹 分类: Programm Diary 2004-10-28 09:46 104576人阅读 评论(2) 收藏 举报 這陣子從頭開始學習:---...
  • junecau
  • junecau
  • 2011年09月17日 14:03
  • 1676

吕鑫:VC++6.0就业培训宝典之MFC视频教程

视频下载地址: 作者简介 吕鑫,著名软件架构设计师和就业培训专家。从1996年开始使用MFC从事Windows软件开发,是极其罕见的第一代Windows程序员。自2001年起创立外资软件公司,3年内公...
  • qutadi
  • qutadi
  • 2014年07月25日 14:58
  • 1342

大数据架构师从入门到精通 学习必看宝典

其实这就是想告诉你的大数据的三个发展方向,平台搭建/优化/运维/监控、大数据开发/ 设计/ 架构、数据分析/挖掘。请不要问我哪个容易,哪个前景好,哪个钱多。...
  • songhait
  • songhait
  • 2017年08月08日 21:44
  • 4707

新手入门宝典:从零开始做微信小程序开发

开发前必读简要 基于大量无效开发,无法上线的案例,所以开发前部分知识十分重要;| 链接 微信小程序个人注册简单步骤 打开mp.weixin.qq.com,点击右上角立即注册,进入小程序注册| ...
  • rolan1993
  • rolan1993
  • 2017年06月09日 11:42
  • 2829

Android宝典入门篇-进阶

Android宝典入门篇-进阶   学习Android前后有快有1个月了,本着不耍流氓,谈恋爱就要结婚的信念(其实AD开发也挺有趣的),做了自己的第一个Android小应用。...
  • kujing823
  • kujing823
  • 2014年11月14日 16:50
  • 241

Direct3D极速入门宝典

Direct3D极速入门宝典     其实DirectX9.0里有非常详细的教程和参考,大多数人只需要看看这些帮助就可以自己学习D3D了,我的这篇文章适合那些很懒但想快速入门、不懂英文...
  • luyuncsd123
  • luyuncsd123
  • 2013年06月25日 16:23
  • 807

Android面试宝典总结--第一章:Android入门

Android面试宝典总结 –第一章:Android入门 . 本文对Android面试宝典的面试题目做一点总结和记录,希望对大家面试或简单复习有帮助。...
  • wenzhi20102321
  • wenzhi20102321
  • 2017年01月26日 22:19
  • 483
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:vc入门宝典(十)
举报原因:
原因补充:

(最多只允许输入30个字)