zoukankan      html  css  js  c++  java
  • WinForm 自定义控件之Windows消息

    写在前面:要自定义WinForm界面控件,WndProc方法的重写恐怕是必不可少了,它是对系统消息的捕获和处理方法,自定义控件时,可以捕获重画,鼠标移动等消息,然后重画控件,从而改变控件的外观,这样就可以达到自定义的功能,特别是美化控件,就一定要捕获系统消息,下面介绍一些重要的系统消息,这些消息基本上是继承.Net基础控件(如TextBox,Button之类)之后必不可少的需要捕获的消息。如WM_PAINT,WM_NCPAINT等,你可以不知道吗?如果你真的不知道,你可以说,你是个入门的GUI编程者吗?下面,只简单地列举消息和说明意思,但并不举例子说明。

    WM_PAINT = 0x000F
    其中0x000F是C#中表示int的一种写法,可以定义为const
    要求一个窗口重画自己

    WM_NCPAINT = 0x0085
    当某个窗口的框架必须被绘制时,程序发送此消息给窗口

    WM_ACTIVATE = 0x0006
    一个窗口被激活或失去激活状态

    WM_KILLFOCUS = 0x0008
    失去焦点

    WM_NCCALCSIZE = 0x0083
    当某个窗口的客户区域必须被核算时发送此消息

    WM_NCACTIVATE = 0x0086
    此消息发送给某个窗口 仅当它的非客户区需要被改变来显示是激活还是非激活状态

    WM_SETTEXT = 0x000C
    应用程序发送此消息来设置一个窗口的文本

    WM_LBUTTONDOWN = 0x0201
    按下鼠标左键

    WM_LBUTTONUP = 0x0202
    释放鼠标左键

    WM_LBUTTONDBLCLK = 0x0203
    双击鼠标左键

    WM_MOUSEMOVE = 0x0200
    移动鼠标

    WM_SYSCOMMAND = 0x0112
    当用户选择窗口菜单的一条命令或当用户选择最大化或最小化时那个窗口会收到此消息

    WM_SIZE = 5
    改变一个窗口的大小

    WM_SIZING = 0x0214
    当用户正在调整窗口大小时发送此消息给窗口;通过此消息应用程序可以监视窗口大小和位置也可以修改他们

    WM_ERASEBKGND = 0x0014
    当窗口背景必须被擦除时(例在窗口改变大小时)

    WM_SHOWWINDOW = 0x18
    当隐藏或显示窗口是发送此消息给这个窗口

    WM_NCCREATE = 0x0081
    当某个窗口第一次被创建时,此消息在WM_CREATE消息发送前发送

    WM_WINDOWPOSCHANGING = 0x0046
    发送此消息给那个窗口的大小和位置将要被改变时,来调用setwindowpos函数或其它窗口管理函数

    WM_WINDOWPOSCHANGED = 0x0047
    发送此消息给那个窗口的大小和位置已经被改变时,来调用setwindowpos函数或其它窗口管理函数

    转自http://www.myfirm.cn/News/DotNetUserInterface/20080302011507420.html

  • 相关阅读:
    c++中sort()及qsort()的用法总结
    POJ的层次感分类
    DFS练习-HDU1010
    Dijkstra&&Floyd
    DFS练习一---HDU 1342
    快速幂取模算法
    树的实现
    C++的队列和pair
    BFS练习-POJ.2386
    Codeforces 1139E(二分图最大匹配)
  • 原文地址:https://www.cnblogs.com/johnwonder/p/1667190.html
Copyright © 2011-2022 走看看