The Last Day Of Summer
.NET技术 C# ASP.net ActiveReport SICP 代码生成 报表应用 RDLC
posts - 305, comments - 1973, trackbacks - 78, articles - 3
博客园
::
首页
::
新随笔
::
联系
::
订阅
::
管理
Winform中在Form上截取消息的两种方法
Posted on 2006-01-09 18:41
Cure
阅读(1523)
评论(2)
编辑
收藏
网摘
所属分类:
C#代码与实例
比较常用的是重载Form的DefWndProc方法,例如截取鼠标按下的消息:
protected
override
void
DefWndProc(
ref
Message m)
{
if
( m.Msg
==
0x0201
)
{
MessageBox.Show(m.Msg.ToString());
}
else
{
base
.DefWndProc (
ref
m);
}
}
还可以通过另一种办法,使用IMessageFilter 接口:
public
class
MessageFilter : IMessageFilter
{
public
bool
PreFilterMessage(
ref
Message m)
{
if
(m.Msg
==
0x0201
)
{
MessageBox.Show(
"
WM_LBUTTONDOWN is:
"
+
m.Msg);
return
true
;
}
return
false
;
}
}
然后使用Application.AddMessageFilter方法,例如:
private static MessageFilter msgFliter = new MessageFilter();
在Main方法中注册消息筛选器:
Application.AddMessageFilter(msgFliter);
如果要取消注册,可以调用Application.RemoveMessageFilter方法
在这里有一个Windows的MessageID的枚举,挺有用的,好几次都忘了地址,这次写在这里好好保存
Windows Message ID constants
Feedback
#1楼
回复
引用
查看
2007-11-14 12:02 by
deeloo
这个鼠标点击不分左键和右键吗,我想做过滤鼠标右键的消息,它应该是用什么常量?
#2楼
[
楼主
]
回复
引用
查看
2007-11-15 17:58 by
Cure
@deeloo
鼠标右键的是:WM_RBUTTONDOWN = 0x0204
更多的可以在随笔最后的链接里下载sourcecode,如果不能下载,参照下面的:
http://www.cnblogs.com/dahuzizyd/archive/2007/11/15/Windows_Message_ID.html
刷新评论列表
切换模板
发表评论
姓名
[登录]
[注册]
主页
Email
(仅博主可见)
验证码
*
看不清,换一张
内容(请不要发表任何与政治相关的内容)
今天你闪了吗?
《C# 3.0设计模式》65折特惠
Remember Me?
登录
使用高级评论
新用户注册
返回页首
[使用Ctrl+Enter键可以直接提交]
导航:
网站首页
社区
新闻
博问
闪存
网摘
招聘
.NET频道
知识库
找找看
Google站内搜索
China-pub 计算机图书网上专卖店!6.5万品种 2-8折!
China-Pub 计算机绝版图书按需印刷服务
相关文章:
相关链接:
最新IT新闻:
19岁天才黑客发布首个iPhone 3GS破解软件
新浪邮箱大本营粉墨登场!Sina.cn开放注册
IE市场份额首次跌破60%
Google App Engine宕机6小时——云的安全在哪里?
微软新推社交网站Windows Live Planet
Powered by:
博客园
Copyright © Cure
公告
本博客内容如无特别说明,皆为原创,转载请注明出处
与我互动
给我发短消息
搜索
常用链接
我的随笔
我的空间
我的短信
我的评论
更多链接
我的参与
我的新闻
最新评论
我的标签
我参与的团队
敏捷软件开发组织(0/0)
BluePrint翻译团队(0/0)
报表与图表团队(0/0)
微软(西安).NET开发俱乐部(0/0)
我的标签
Rails(31)
ruby(31)
activerecord(23)
Subversion(2)
Redmine(2)
Active Support(1)
随笔分类
(337)
.Net开发(49)
C#代码与实例(44)
Python(19)
Ruby On Rails(64)
报表应用(25)
代码生成(10)
读书(11)
非技术(40)
建模技术(3)
敏捷开发及实践 (29)
其他技术(16)
网络资源(6)
业界新闻(21)
文章分类
(3)
.net相关(2)
其他(1)
相册
关山牧场
云台山
收藏夹
(43)
.NET技术(6)
DSM和DSL(1)
SICP(3)
程序开发基础(1)
方法学(6)
领域模型 (9)
面向对象分析与设计(11)
企业应用(6)
技术站点
agilealliance
agilemodeling
artima developer
asp.net
aspalliance
codeguru
CodeProject
c-sharpcorner
css zen garden
developer.*
developersdex
devx
dsmforum
freewebsitetemplates
FTPOnline
infoq
informIT
MSDN
openwebdesign
oreillynet
sdmagazine
sdtimes
theserverside
zeroweb
其他
flickr
Youtube
积分与排名
积分 - 644356
排名 - 40
最新评论
1. re: .net辅助工具列表
Nice Post
--mRHm
2. re: 报表控件团队成立了!!
申请加入……
博客主页:
学习:在vb6.0下使用ActiveReport报表控件
--缥缈峰
3. re: Ruby on rails开发从头来(windows)(三十二)- Rails的配置文件
--引用-------------------------------------------------- 小鱼儿2008: 看不明白什么意思?请楼主指教! --------------------...
--dongkun
4. re: 报表控件团队成立了!!
申请加入
我研究rdlc activereport
--大侠酷裤马路
5. re: 报表控件团队成立了!!
多维报表报表管理平台( www.51baobiao.com) 1.支持Oracle 、SQL Server各种大型数据的 数据查询 2.业务模型(语义层)定制,使您无须任何SQL ...
--我要报表
阅读排行榜
1. 一个反编译工具Reflector(不是Reflactor)(57856)
2. 也说Bug管理工具(13383)
3. Gmail 邀请(9393)
4. 使用C#和Excel进行报表开发(三)-生成统计图(Chart)(8943)
5. 使用ActiveReport for .net 进行报表开发(一)--开始(8627)
6. 什么是CLS?(8511)
7. 使用ZedGraph制作动态更新的统计图(8320)
8. Bug管理的流程和几个重点(8171)
9. Ruby on rails开发从头来(windows)(一)-使用InstantRails快速搭建Ruby On Rails开发环境(7046)
10. Bug跟踪软件(7043)
11. 使用C#和Excel进行报表开发(八)-用程序绑定数据源 (6866)
12. 怎样从youtube或国内视频网站上下载视频(FLV Downloader)(6809)
13. 将Excel应用于报表开发中(一)--开始(6776)
14. python!让人惊讶的python(6605)
15. 使用C#和Excel进行报表开发(二)-操作统计图(Chart)(6519)
16. C#操作Excel开发报表系列整理(6269)
17. Ruby on rails开发从头来系列教程(附ruby电子书下载)(5891)
18. 使用ActiveReport for .net 进行报表开发(二)--绑定数据源(5799)
19. 使用ActiveReports for .net 进行报表开发(十一)--迁移到3.0(5766)
20. 使用PowerDesigner进行代码生成(5724)