zoukankan      html  css  js  c++  java
  • C#中如何截取Windows消息来触发自定义事件

    原文 C#中如何截取Windows消息来触发自定义事件

    在c#windows开发中,我们常常会遇到拦截windows消息,来触发某个特定任务的问题。

    由于目前使用c#的开发人员非常多,而且大多数c#程序员都不是从Windwos c++转过来的对windows消息机制不怎么了解,遇到这类问题还是挺棘手的,我们公司有个同事问,就写这个小实例,帮助那些遇到此类问题的兄弟姐妹。

    实现方式目前有两种:

    1 使用Control类的虚方法WndProc来截取Windows消息

     基类为Control类的所有控件都有一个protected virtual void WndProc(ref Message m) 的虚方法。我只要重载该虚方法,那么这个控件聚焦后就可以扑捉windows消息,并触发该方法了。

    protected override void WndProc(ref Message m)
    {
      switch (m.Msg)                               //判断系统消息的ID号     
      {
        case 513:
          MessageBox.Show("恭喜你点击了左键!");
          m.Result = (IntPtr)0;                  //为了响应消息处理而向 Windows 返回的值        
          break;
        case 516:
          MessageBox.Show("恭喜你点击了右键!");
          m.Result = (IntPtr)0;                //为了响应消息处理而向 Windows 返回的值          
          break;
        default:
          base.WndProc(ref m);
          break;
      }
    }

    2 通过实现IMessageFilter接口,来截取获Windows消息。

    IMessageFilter接口用来定义消息筛选器接口,该接口的PreFilterMessage方法用来在调度消息之前将其筛选出来。他的实现如下:

      public class MessageFilter : IMessageFilter
        {
            public bool PreFilterMessage(ref Message message) //实现PreFilterMessage方法    
            {
                switch (message.Msg)                               //判断系统消息的ID号     
                {
                    case 513:
                        MessageBox.Show("恭喜你点击了左键!");
                        return true;
                    case 516:
                        MessageBox.Show("恭喜你点击了右键!");
                        return true;
                    default:
                        return false;
                }
            }
        }

    那么如何使用这个类? 其实在类Application中有个AddMessageFilter(IMessageFilter value)的静态方法,只要添加进去就可以,

    例如:Application.AddMessageFilter(MessageFilter); 加进去可别忘了,加进去的消息过滤器也可删除Application。RemoveMessageFilter(IMessageFilter value);

    附录: windows消息ID列表

    ( 备注地址为0x????格式,0x后仅四位,四位以后的为乱码,为本文格式排版问题,待完善 ):

    WM_NULL=0x0000
    WM_CREATE=0x0001
    WM_DESTROY=0x0002
    WM_MOVE=0x0003
    WM_SIZE=0x0005
    WM_ACTIVATE=0x0006
    WM_GETTEXT=0x000D
    WM_GETTEXTLENGTH=0x000E


    WM_PAINT=0x000F
    WM_CLOSE=0x0010
    WM_QUERYENDSESSION=0x0011
    WM_QUERYOPEN=0x0013
    WM_ENDSESSION=0x0016
    WM_QUIT=0x0012
    WM_ERASEBKGND=0x0014

    WM_SYSCOLORCHANGE=0x0015
    WM_SHOWWINDOW=0x0018
    WM_WININICHANGE=0x001A
    WM_SETTINGCHANGE=0x001A
    WM_ACTIVATEAPP=0x001C
    WM_FONTCHANGE=0x001D
    WM_TIMECHANGE=0x001E
    WM_CANCELMODE=0x001F


    WM_MOUSEACTIVATE=0x0021
    WM_CHILDACTIVATE=0x0022
    WM_QUEUESYNC=0x0023
    WM_NEXTDLGCTL=0x0028
    WM_SPOOLERSTATUS=0x002A
    WM_DRAWITEM=0x002B
    WM_MEASUREITEM=0x002C
    WM_DELETEITEM=0x002D
    WM_VKEYTOITEM=0x002E
    WM_CHARTOITEM=0x002F
    WM_SETFONT=0x0030
    WM_GETFONT=0x0031
    WM_SETHOTKEY=0x0032
    WM_GETHOTKEY=0x0033
    WM_QUERYDRAGICON=0x0037
    WM_COMMNOTIFY=0x0044
    WM_WINDOWPOSCHANGING=0x0046
    WM_WINDOWPOSCHANGED=0x0047
    WM_CANCELJOURNAL=0x004B


    WM_NOTIFY=0x004E
    WM_INPUTLANGCHANGEREQUEST=0x0050
    WM_INPUTLANGCHANGE=0x0051
    WM_TCARD=0x00528 i; {( h( Y* s' b
    WM_HELP=0x00537 y3 p: J1 z+ e  V% @)
    F* |/ k6 {! e/ v3 o6 q" k. t
    WM_CONTEXTMENU=0x007B- K6 ?  j% J2 U* I7 
    n
    WM_STYLECHANGING=0x007C4 l' C" ?! e9 i4 
    e
    WM_STYLECHANGED=0x007D
    WM_DISPLAYCHANGE=0x007E
    WM_GETICON=0x007F  J: _/ _. 
    O)
    WM_GETDLGCODE=0x0087$ d% z% i* O4 _( g! q1 
    |
    WM_SYNCPAINT=0x0088
    WM_NCMOUSEMOVE=0x00A0
    WM_NCLBUTTONDOWN=0x00A1
    WM_NCLBUTTONUP=0x00A2
    WM_NCLBUTTONDBLCLK=0x00A3
    WM_NCRBUTTONDOWN=0x00A4
    WM_NCRBUTTONUP=0x00A5% g3 K4 g6 B( c+ ^: 
    X
    WM_NCRBUTTONDBLCLK=0x00A6
    WM_NCMBUTTONDOWN=0x00A7
    WM_NCMBUTTONUP=0x00A8, q# a7 
    x5 s& V2 {4 i
    WM_NCMBUTTONDBLCLK=0x00A9, I" ^; L6 }6 c0 o- G" 
    P
    WM_NCXBUTTONDOWN=0x00AB7 W3 E9 Z/ n/ {/ 
    g, G* l; L2 Q6 O* F
    WM_NCXBUTTONUP=0x00AC
    WM_NCXBUTTONDBLCLK=0x00AD
    WM_INPUT=0x00FF- }4 }5 Q; s+ ^: 
    U  O' B
    WM_KEYFIRST=0x0100
    WM_KEYDOWN=0x01009 e+ z( O7 J8 b- 
    {* T( s
    WM_KEYUP=0x01013 _+ g8 c)
    G- T& }1 @# Q# f
    WM_UNICHAR=0x0109
    WM_KEYLAST_NT501=0x0109
    UNICODE_NOCHAR=0xFFFF
    WM_KEYLAST_PRE501=0x0108+ U; P$ I$ e$ R2 p8 
    w( ~
    WM_IME_STARTCOMPOSITION=0x010D& 
    L1 V4 d3 P  `8 r( o! ~* g
    WM_IME_ENDCOMPOSITION=0x010E
    WM_IME_COMPOSITION=0x010F
    WM_IME_KEYLAST=0x010F1 W: [4 w. O; 
    i/ e
    WM_INITDIALOG=0x0110
    WM_COMMAND=0x0111
    WM_SYSCOMMAND=0x01124 `2 Z8 p6 f. d$ 
    T8 m
    WM_TIMER=0x0113
    WM_HSCROLL=0x0114  [6 L1 W. v6 O2 
    [  @5 U)
    WM_MENUSELECT=0x011F
    WM_MENUCHAR=0x0120" 
    Y& c8 q+ ~% y/ s5 Z9 e
    WM_ENTERIDLE=0x0121
    WM_MENURBUTTONUP=0x0122
    WM_MENUDRAG=0x0123
    WM_MENUGETOBJECT=0x0124
    WM_UNINITMENUPOPUP=0x0125
    WM_MENUCOMMAND=0x0126+ }  {7 |" T2 m- N  C5 ^$ a)
    WM_CTLCOLOREDIT=0x0133% i/ _)
    WM_CTLCOLORBTN=0x0135
    WM_CTLCOLORDLG=0x01368 i* w0 g; |)
    WM_MOUSEMOVE=0x0200, p4 s5 t8 J' C& 
    A( @' Y
    WM_LBUTTONDOWN=0x0201% a' /7 k* 
    J1 H. N9 /7 [. r! O
    WM_LBUTTONUP=0x0202& q& w- i7 e4 w" t5 p# 
    k
    WM_LBUTTONDBLCLK=0x02038 o# y* H- E9 
    p
    WM_RBUTTONDOWN=0x0204
    WM_RBUTTONUP=0x02059 i% Q% O4 d4 
    S1 R
    WM_RBUTTONDBLCLK=0x0206/ B% o' ~5 F' 
    M2 q, Q  ~
    WM_MBUTTONDOWN=0x02079 ^& 
    h9 {& A. E0 [6 l3 ^( s: [
    WM_MBUTTONUP=0x02083 I* })
    [' n- y6 h$ e# ]% |8 m
    WM_XBUTTONDOWN=0x020B8 g% m  h9 q2 E5 L
    WM_XBUTTONUP=0x020C8 x; P2 {+ Z3 
    _
    WM_XBUTTONDBLCLK=0x020D
    WM_MOUSELAST_5=0x020D)
    WM_SIZING=0x0214
    WM_CAPTURECHANGED=0x0215! n* _0 
    D3 t7 _; D( }& F
    WM_MOVING=0x0216; |' 
    Z7 p+ w; v9 ^" g; y
    WM_POWERBROADCAST=0x0218/ o1 D)
    WM_MDIACTIVATE=0x0222)
    WM_MDINEXT=0x0224)
    WM_MDICASCADE=0x0227
    WM_MDIICONARRANGE=0x0228" a& w5 C  @- t9 ?9 B! x8 
    N
    WM_MDIGETACTIVE=0x02293 o! h)
    WM_DROPFILES=0x0233
    WM_MDIREFRESHMENU=0x0234( ^2 }6 z1 k4 
    _
    WM_IME_SETCONTEXT=0x0281
    WM_IME_NOTIFY=0x0282
    WM_IME_CONTROL=0x0283
    WM_IME_COMPOSITIONFULL=0x0284' T7 I: G; N' S- R; 
    |
    WM_IME_SELECT=0x0285
    WM_IME_CHAR=0x0286
    WM_IME_REQUEST=0x0288; n' J2 `% q! i4 w1 
    v$ M5 u
    WM_IME_KEYDOWN=0x02906 w8 S( [8 
    `  R$ y8 t: F$ E
    WM_IME_KEYUP=0x0291# /" 
    s  _/ G" i
    WM_MOUSEHOVER=0x02A1
    WM_MOUSELEAVE=0x02A3
    WM_NCMOUSEHOVER=0x02A0
    WM_NCMOUSELEAVE=0x02A2
    WM_WTSSESSION_CHANGE=0x02B1
    WM_TABLET_FIRST=0x02c0
    WM_TABLET_LAST=0x02df
    WM_CUT=0x0300
    WM_COPY=0x0301: D: F9 J1 f, R: S6 W. U6 z* 
    j
    WM_PASTE=0x0302
    WM_CLEAR=0x03036 m3 e. /% Z2 
    e
    WM_UNDO=0x03042 M' K& }( a: A1 
    T
    WM_RENDERFORMAT=0x0305
    WM_RENDERALLFORMATS=0x0306
    WM_DESTROYCLIPBOARD=0x03078 ~, u! u% U* 
    O
    WM_DRAWCLIPBOARD=0x0308  y" z  b2 F/ m5 
    i' o# c8 r
    WM_PAINTCLIPBOARD=0x0309" 
    z  D; J& /# a; o- m1 k. H' ^
    WM_VSCROLLCLIPBOARD=0x030A
    WM_SIZECLIPBOARD=0x030B)
    WM_HSCROLLCLIPBOARD=0x030E
    WM_QUERYNEWPALETTE=0x030F% t1 b# M7 N5 D6 
    P
    WM_PALETTEISCHANGING=0x0310
    WM_PALETTECHANGED=0x0311+ 
    V0 d$ [9 W8 K3 Y" w" _$ K! z
    WM_HOTKEY=0x0312
    WM_PRINT=0x0317
    WM_PRINTCLIENT=0x0318: D: F& r9 }! x( ?, @" 
    e
    WM_APPCOMMAND=0x0319
    WM_THEMECHANGED=0x031A
    WM_HANDHELDFIRST=0x0358
    WM_HANDHELDLAST=0x035F$ Y9 
    s1 {* I- @8 k: n
    WM_AFXFIRST=0x0360+ /" 
    d0 @! u  ?. /)
    WM_USER=0x04002 w( L7 d2 ^6 a0 m, p; m% 
    ?
    EM_GETSEL=0x00B0+ G" @/ S2 G& o8 I6 
    l' B
    EM_SETSEL=0x00B1
    EM_GETRECT=0x00B2
    EM_SETRECT=0x00B3
    EM_SETRECTNP=0x00B4
    EM_SCROLL=0x00B5
    EM_LINESCROLL=0x00B6
    EM_SCROLLCARET=0x00B7
    EM_GETMODIFY=0x00B8
    EM_SETMODIFY=0x00B9
    EM_GETLINECOUNT=0x00BA
    EM_LINEINDEX=0x00BB
    EM_SETHANDLE=0x00BC
    EM_GETHANDLE=0x00BD
    EM_GETTHUMB=0x00BE
    EM_LINELENGTH=0x00C1
    EM_REPLACESEL=0x00C2
    EM_GETLINE=0x00C4
    EM_FMTLINES=0x00C8
    EM_LINEFROMCHAR=0x00C9
    EM_SETTABSTOPS=0x00CB5
    EM_SETPASSWORDCHAR=0x00CC
    EM_EMPTYUNDOBUFFER=0x00CD
    EM_GETFIRSTVISIBLELINE=0x00CE
    EM_SETREADONLY=0x00CF
    EM_SETWORDBREAKPROC=0x00D0
    EM_GETWORDBREAKPROC=0x00D1
    EM_GETPASSWORDCHAR=0x00D2
    EM_SETMARGINS=0x00D3
    EM_GETMARGINS=0x00D4
    EM_SETLIMITTEXT=EM_LIMITTEXT
    EM_GETLIMITTEXT=0x00D5
    EM_POSFROMCHAR=0x00D6
    EM_CHARFROMPOS=0x00D7
    EM_SETIMESTATUS=0x00D8
    EM_GETIMESTATUS=0x00D9
    BM_GETCHECK=0x00F0
    BM_SETCHECK=0x00F1
    BM_GETSTATE=0x00F2
    BM_SETSTATE=0x00F3
    BM_SETSTYLE=0x00F4
    BM_CLICK=0x00F5
    BM_GETIMAGE=0x00F6
    STM_SETICON=0x0170
    STM_GETICON=0x0171
    DM_GETDEFID=(WM_USER+0)

    LB_SETSEL=0x0185
    LB_SETCURSEL=0x0186
    LB_GETSEL=0x0187
    LB_GETCURSEL=0x0188
    LB_GETTEXT=0x0189
    LB_DIR=0x018D
    LB_GETTOPINDEX=0x018E
    LB_FINDSTRING=0x018F
    LB_GETSELCOUNT=0x0190
    LB_SETTABSTOPS=0x0192
    LB_GETHORIZONTALEXTENT=0x0193
    LB_SETHORIZONTALEXTENT=0x0194
    LB_SETITEMDATA=0x019A
    LB_SELITEMRANGE=0x019B
    LB_SETANCHORINDEX=0x019C
    LB_GETANCHORINDEX=0x019D
    LB_SETCARETINDEX=0x019E
    LB_GETCARETINDEX=0x019F
    LB_SETITEMHEIGHT=0x01A0
    LB_GETLOCALE=0x01A6
    LB_SETCOUNT=0x01A7
    LB_INITSTORAGE=0x01A8
    LB_ITEMFROMPOINT=0x01A9
    LB_MULTIPLEADDSTRING=0x01B1
    LB_GETLISTBOXINFO=0x01B2
    LB_MSGMAX_501=0x01B3
    LB_MSGMAX_WCE4=0x01B1
    LB_MSGMAX_4=0x01B0
    LB_MSGMAX_PRE4=0x01A8
    CB_GETEDITSEL=0x0140
    CB_DELETESTRING=0x0144
    CB_DIR=0x0145
    CB_GETCOUNT=0x0146
    CB_GETCURSEL=0x0147
    CB_GETLBTEXT=0x0148
    CB_GETLBTEXTLEN=0x0149
    CB_INSERTSTRING=0x014A
    CB_RESETCONTENT=0x014B
    CB_SETCURSEL=0x014E
    CB_SHOWDROPDOWN=0x014F
    CB_SETITEMDATA=0x0151
    CB_GETDROPPEDCONTROLRECT=0x0152
    CB_SETITEMHEIGHT=0x0153
    CB_GETITEMHEIGHT=0x0154
    CB_SETEXTENDEDUI=0x0155
    CB_GETEXTENDEDUI=0x0156
    CB_GETDROPPEDSTATE=0x0157
    CB_FINDSTRINGEXACT=0x0158
    CB_SETLOCALE=0x0159
    CB_GETLOCALE=0x015A
    CB_GETTOPINDEX=0x015B
    CB_SETTOPINDEX=0x015C
    CB_GETHORIZONTALEXTENT=0x015d
    CB_SETHORIZONTALEXTENT=0x015e
    CB_GETDROPPEDWIDTH=0x015f
    CB_SETDROPPEDWIDTH=0x0160
    CB_INITSTORAGE=0x0161
    CB_MSGMAX_WCE400=0x0163
    CB_MSGMAX_400=0x0162
    CB_MSGMAX_PRE400=0x015B
    SBM_SETPOS=0x00E0
    SBM_GETPOS=0x00E1
    SBM_SETRANGE=0x00E2
    SBM_SETRANGEREDRAW=0x00E6
    SBM_GETRANGE=0x00E3
    SBM_ENABLE_ARROWS=0x00E4
    SBM_GETSCROLLINFO=0x00EA
    SBM_GETSCROLLBARINFO=0x00EB
    LVM_FIRST=0x1000
    TV_FIRST=0x1100
    HDM_FIRST=0x1200
    TCM_FIRST=0x1300


    PGM_FIRST=0x1400
    ECM_FIRST=0x1500
    BCM_FIRST=0x1600


    CBM_FIRST=0x1700
    CCM_FIRST=0x2000

    CCM_LAST=(CCM_FIRST+0x200)
    CCM_GETUNICODEFORMAT=(CCM_FIRST+6)
    CCM_GETVERSION=(CCM_FIRST+0x8)
    HDM_DELETEITEM=(HDM_FIRST+2)
    HDM_SETIMAGELIST=(HDM_FIRST+8)
    HDM_SETHOTDIVIDER=(HDM_FIRST+19)
    HDM_GETBITMAPMARGIN=(HDM_FIRST+21)
    HDM_SETUNICODEFORMAT=CCM_SETUNICODEFORMAT

    HDM_GETUNICODEFORMAT=CCM_GETUNICODEFORMAT
    HDM_SETFILTERCHANGETIMEOUT=(HDM_FIRST+22)
    HDM_EDITFILTER=(HDM_FIRST+23)
    TB_INDETERMINATE=(WM_USER+5)

    TB_INSERTBUTTON=(WM_USER+21)
    TB_CHANGEBITMAP=(WM_USER+43)
    TB_GETBUTTONTEXTW=(WM_USER+75)
    TB_GETIMAGELIST=(WM_USER+49)
    TB_GETHOTIMAGELIST=(WM_USER+53)
    TB_GETDISABLEDIMAGELIST=(WM_USER+55)
    TB_GETOBJECT=(WM_USER+62)
    TB_GETHOTITEM=(WM_USER+71)
    TB_GETEXTENDEDSTYLE=(WM_USER+85)
    TB_SETUNICODEFORMAT=CCM_SETUNICODEFORMAT
    TB_GETUNICODEFORMAT=CCM_GETUNICODEFORMAT


    TB_MAPACCELERATORW=(WM_USER+90)
    TB_ADDBUTTONSW=(WM_USER+68)
    RB_SETBARINFO=(WM_USER+4)
    RB_GETBANDINFO=(WM_USER+5)
    RB_SETTOOLTIPS=(WM_USER+18)
    RB_GETBKCOLOR=(WM_USER+20)
    RB_GETTEXTCOLOR=(WM_USER+22)
    RB_GETCOLORSCHEME=CCM_GETCOLORSCHEME


    RB_BEGINDRAG=(WM_USER+24)
    RB_GETBANDINFOA=(WM_USER+29)
    RB_MAXIMIZEBAND=(WM_USER+31)
    RB_GETUNICODEFORMAT=CCM_GETUNICODEFORMAT
    RB_GETBANDMARGINS=(WM_USER+40)
    RB_SETWINDOWTHEME=CCM_SETWINDOWTHEME

     
    RB_PUSHCHEVRON=(WM_USER+43)
    TTM_ACTIVATE=(WM_USER+1)
    TTM_NEWTOOLRECTW=(WM_USER+52)
    TTM_GETTEXTW=(WM_USER+56)
    TTM_UPDATETIPTEXTW=(WM_USER+57)
    TTM_GETTOOLCOUNT=(WM_USER+13)
    TTM_ENUMTOOLSW=(WM_USER+58)
    TTM_WINDOWFROMPOINT=(WM_USER+16)
    TTM_GETTIPTEXTCOLOR=(WM_USER+23)
    TTM_SETMAXTIPWIDTH=(WM_USER+24)
    TTM_ADJUSTRECT=(WM_USER+31)
    TTM_SETTITLEA=(WM_USER+32)
    SB_SETTEXTA=(WM_USER+1)
    SB_SETMINHEIGHT=(WM_USER+8)
    SB_SIMPLE=(WM_USER+9)
    SB_SETTIPTEXTW=(WM_USER+17)
    SB_GETTIPTEXTW=(WM_USER+19)
    SB_GETUNICODEFORMAT=CCM_GETUNICODEFORMAT

    SB_SETBKCOLOR=CCM_SETBKCOLOR

    SB_SIMPLEID=0x00ff: 

    TBM_GETPOS=(WM_USER)
    TBM_GETRANGEMAX=(WM_USER+2)
    TBM_GETNUMTICS=(WM_USER+16)
    TBM_GETSELSTART=(WM_USER+17)
    TBM_SETTICFREQ=(WM_USER+20)
    TBM_GETPAGESIZE=(WM_USER+22)
    TBM_GETTHUMBLENGTH=(WM_USER+28)
    TBM_GETUNICODEFORMAT=CCM_GETUNICODEFORMAT
    DL_BEGINDRAG=(WM_USER+133)
    UDM_SETBUDDY=(WM_USER+105)
    UDM_GETACCEL=(WM_USER+108)
    UDM_SETUNICODEFORMAT=CCM_SETUNICODEFORMAT
    UDM_GETUNICODEFORMAT=CCM_GETUNICODEFORMAT

    PBM_GETRANGE=(WM_USER+7)
    PBM_SETBARCOLOR=(WM_USER+9)
    PBM_SETBKCOLOR=CCM_SETBKCOLOR
    HKM_SETHOTKEY=(WM_USER+1)
    LVM_SETUNICODEFORMAT=CCM_SETUNICODEFORMAT
    LVM_GETUNICODEFORMAT=CCM_GETUNICODEFORMAT

    LVM_GETBKCOLOR=(LVM_FIRST+0)
    LVM_GETITEMA=(LVM_FIRST+5)
    LVM_INSERTITEMW=(LVM_FIRST+77)
    X4 F: _% l1 o1 S# v8 h: _# A
    LVM_DELETEALLITEMS=(LVM_FIRST+9)
    LVM_GETITEMRECT=(LVM_FIRST+14)
    LVM_GETCOLUMNWIDTH=(LVM_FIRST+29)
    LVM_SETTEXTCOLOR=(LVM_FIRST+36)
    LVM_GETCOUNTPERPAGE=(LVM_FIRST+40)
    LVM_UPDATE=(LVM_FIRST+42)
    LVM_SETITEMTEXTW=(LVM_FIRST+116)
    LVM_GETITEMSPACING=(LVM_FIRST+51)
    LVM_SETCOLUMNORDERARRAY=(LVM_FIRST+58)
    LVM_GETHOTITEM=(LVM_FIRST+61)
    LVM_GETHOTCURSOR=(LVM_FIRST+63)
    LVM_GETTOOLTIPS=(LVM_FIRST+78)
    LVM_GETGROUPINFO=(LVM_FIRST+149)
    LVM_MOVEGROUP=(LVM_FIRST+151)
    LVM_GETGROUPMETRICS=(LVM_FIRST+156)
    LVM_SETTILEVIEWINFO=(LVM_FIRST+162)
    LVM_GETTILEINFO=(LVM_FIRST+165)
    LVM_GETINSERTMARKCOLOR=(LVM_FIRST+171)
    LVM_ISGROUPVIEWENABLED=(LVM_FIRST+175)
    TVM_GETITEMRECT=(TV_FIRST+4)
    TVM_GETITEMW=(TV_FIRST+62)
    TVM_SORTCHILDREN=(TV_FIRST+19)
    TVM_GETISEARCHSTRINGW=(TV_FIRST+64)
    TVM_SETINSERTMARK=(TV_FIRST+26)
    TVM_SETUNICODEFORMAT=CCM_SETUNICODEFORMAT
    TVM_GETUNICODEFORMAT=CCM_GETUNICODEFORMAT
    TVM_SETITEMHEIGHT=(TV_FIRST+27)
    TVM_GETBKCOLOR=(TV_FIRST+31)
    TVM_GETSCROLLTIME=(TV_FIRST+34)
    TVM_GETINSERTMARKCOLOR=(TV_FIRST+38)
    TVM_GETLINECOLOR=(TV_FIRST+41)
    CBEM_SETITEMA=(WM_USER+5)
    CBEM_SETUNICODEFORMAT=CCM_SETUNICODEFORMAT
    l
    CBEM_GETUNICODEFORMAT=CCM_GETUNICODEFORMAT
    CBEM_SETEXSTYLE=(WM_USER+8)
    TCM_GETIMAGELIST=(TCM_FIRST+2)
    TCM_GETITEMCOUNT=(TCM_FIRST+4)
    TCM_GETITEMRECT=(TCM_FIRST+10)
    TCM_SETCURSEL=(TCM_FIRST+12)
    TCM_GETTOOLTIPS=(TCM_FIRST+45)
    TCM_SETTOOLTIPS=(TCM_FIRST+46)
    MCM_GETCURSEL=(MCM_FIRST+1)
    MCM_SETMAXSELCOUNT=(MCM_FIRST+4)
    MCM_SETSELRANGE=(MCM_FIRST+6)
    MCM_GETMINREQRECT=(MCM_FIRST+9)
    MCM_GETCOLOR=(MCM_FIRST+11)
    MCM_GETTODAY=(MCM_FIRST+13)
    MCM_SETUNICODEFORMAT=CCM_SETUNICODEFORMAT

    MCM_GETUNICODEFORMAT=CCM_GETUNICODEFORMAT
    DTM_FIRST=0x1000
    DTM_GETSYSTEMTIME=(DTM_FIRST+1)
    DTM_GETMCCOLOR=(DTM_FIRST+7)
    PGM_GETBKCOLOR=(PGM_FIRST+5)
    PGM_SETBUTTONSIZE=(PGM_FIRST+10)
    BCM_SETIMAGELIST=(BCM_FIRST+0x0002)
    BCM_GETTEXTMARGIN=(BCM_FIRST+0x0005)
    EM_SETCUEBANNER=(ECM_FIRST+1)
    EM_HIDEBALLOONTIP=(ECM_FIRST+4)
    LM_GETITEM=(WM_USER+0x303)

  • 相关阅读:
    ASP.NET core1.0 EF MYSQL搭建中碰到几个问题记录
    【小程序】---- input获得焦点时placeholder重影BUG
    【小程序】---- 基础知识汇总
    【vue】---- 图片懒加载
    【vue】---- v-model在自定义组件中的使用
    【工具】---- webpack简析
    【Vue】---- 手动封装on,emit,off
    【工具】---- json-server基本使用
    【Vue】----- 浅谈vue的生命周期
    【Vue】----- computed与watch的区别
  • 原文地址:https://www.cnblogs.com/arxive/p/5912214.html
Copyright © 2011-2022 走看看