1.背景介绍:

  c#程序想要针对某个的消息进行别的行为。例如:窗体不可拖动。

2.应用函数WinProc

  以窗口不可拖动举例:

const int WM_NCLBUTTONDOWN = 0x00A1;//当光标在一个窗口的非客户区同时按下鼠标左键时提交此消息
const int HTCAPTION = 2;//表示鼠标在窗口标题栏时的系统信息
protected override void WndProc(ref Message m)
{
if (m.Msg == WM_NCLBUTTONDOWN && m.WParam.ToInt32() == HTCAPTION)
return;
base.WndProc(ref m);
}

3.原理:

  拦截并处理系统消息和自定义消息:windows程序会产生很多消息,比如你单击鼠标,移动窗口都会产生消息。这个函数就是默认的消息处理函数。你可以重载这个函数来制定自己的消息处理流程.在Winform程序中,可以重写WndProc函数,来捕捉所有发生的窗口消息。这样,我们就可以"篡改"传入的消息,而人为的让窗口改变行为。

最新文章

  1. linux vi 命令大全
  2. adb install INSTALL_FAILED_ALREADY_EXISTS
  3. 为什么可以用while(cin)?
  4. 成都PC网站建设需要考虑哪些费用呢
  5. poi中getPhysicalNumberOfRows()和getLastRowNum()区别
  6. Delphi版浏览器(持续更新)
  7. new 的用法
  8. [转] Git 分支 - 分支的新建与合并
  9. linux下实现ls()函数遍历目录
  10. 万事开头难,用HTML写的第一个界面,收获颇多
  11. RDLC报表系列(一) 简单的动态数据绑定和配置
  12. Mybatis框架分析
  13. QT之UDP通信
  14. Python中的threadlocal
  15. Soot生成代码控制流图
  16. 利用世界杯,读懂 Python 装饰器
  17. js 对象与数组相互转化的快捷方法 Object.keys()、Object.values()、Object.entries()
  18. [WC2018]即时战略——动态点分治(替罪羊式点分树)
  19. tmux 简单介绍
  20. SQL Server 函数之日期格式化函数

热门文章

  1. css3动画,监控动画执行完毕
  2. js数组的处理使用
  3. STM32F103C8T6、STM32F103ZET6工程模板
  4. ESP32 学习笔记 - Ubuntu安装
  5. 20155211 2016-2017-2 《Java程序设计》第一周学习总结
  6. 20155330 2016-2017-2 《Java程序设计》第九周学习总结
  7. 20155330 2016-2017-2 《Java程序设计》第四周学习总结
  8. 20145209 实验二 《Java面向对象程序设计》 实验报告
  9. 考研编程练习----Kruskal
  10. docker容器的启动、停止、运行、导入、导出、删除