MFC零散知识点收集站

简介: 1:截获消息 改写CWinApp的PreTranslateMessage()函数,用来在消息被派送的TranslateMessage和DispatchMessage之前对消息进行过滤。

1:截获消息

改写CWinApp的PreTranslateMessage()函数,用来在消息被派送的TranslateMessage和DispatchMessage之前对消息进行过滤。所以可以在这里对消息进行截获。截获的方法是直接返回return TRUE;

 

如果只是简单对消息进行加工,就采用默认的return CWinApp::PreTranslateMessage(pMsg);

 

并不是所有的消息都会经过PreTranslateMessage,如果用SendMessage给本线程窗口发送消息就直接进入WinProc。

原因是PreTranslateMessage是在GetMessage之后接着被调用,是从消息栈中取得的,所以只有流经消息栈的消息才会被截获。而SendMessage直接派送给WinProc,所有不会被截获。

 

2:CScrollView窗口的注意设备坐标和逻辑坐标的变换

CScrollView已经重载OnPrepareDC函数,函数将完成将DC对象的原点变换,已经映射方式。

如果要将点或矩形信息变换:

CClientDC dc(this);

OnPrepareDC(&dc);

dc.DPToLP(&point);

就可以将point坐标转换。

相关文章
|
4月前
|
存储 资源调度 算法
《计算机操作系统》重点知识笔记整理(一)
《计算机操作系统》重点知识笔记整理(一)
52 0
|
4月前
|
存储 算法 调度
《计算机操作系统》重点知识笔记整理(二)
《计算机操作系统》重点知识笔记整理(二)
45 0
|
5月前
|
存储 架构师 算法
收下我的膝盖!阿里架构师编写的668页Java虚拟机笔记真强
从Java诞生至今已有二十余年,基于虚拟机的技术屏蔽了底层环境的差异,一次编译,随处运行的思想促进了整个IT上层技术应用产生了翻天覆地的变化。Java作为服务端应用语言的首选,确实大大降低了学习和应用的门槛。
|
6月前
|
监控 项目管理
通俗易懂的方式理解项目管理的49个过程(追妹子案例)
通俗易懂的方式理解项目管理的49个过程(追妹子案例)
54 0
|
11月前
|
数据库
第一遍阅读之《信息系统开发与管理》(二战)
第二次学习信息系统开发与管理,第一感觉是:必过! 信息系统开发与管理距离我们软件的具体开发很近,在我们生物专业学习过程中,有一门课程叫做《食品仪器分析》,其中有一章节的内容讲的大概是建立一个工厂的过程是怎么样的。这其中的方法和我们的《信息系统开发与管理》的内容有异曲同工之妙,我们要建立的是一个工厂,但是摆脱不了和周围事物的联系。
|
uml 开发者 Windows
推荐5款冷门小工具,看一看有没有你喜欢的?
每个人的电脑中都会安装很多软件,可能还保留着很多不为人知的冷门软件。不过虽然冷门,但绝不意味着低能,相反很多冷门软件的功能十分出色。闲话少说,接下来我就给大家推荐5款冷门小工具,看一看有没有你喜欢的。
147 0
推荐5款冷门小工具,看一看有没有你喜欢的?
|
存储 供应链 安全
Java开发的五条安全小贴士,助你的项目更安全
Java开发的五条安全小贴士,助你的项目更安全
|
SQL 自然语言处理 搜索推荐
搜索引擎项目开发过程以及重难点整理(二)
搜索引擎项目开发过程以及重难点整理(二)
121 0
搜索引擎项目开发过程以及重难点整理(二)
|
存储 SQL XML
搜索引擎项目开发过程以及重难点整理(一)
搜索引擎项目开发过程以及重难点整理(一)
396 0
搜索引擎项目开发过程以及重难点整理(一)
|
SQL 存储 关系型数据库
零散的MySQL基础
MySQL基础语法
82 0
零散的MySQL基础