.
In Depth Banner
Skip Navigation Links

Select your preferred language

Windefs

using System;

using System.Runtime.InteropServices;

using System.Drawing;

using xRay.Toolkit.Utilities.Win32;

 

namespace xRay.Toolkit.Win32Defs

{

 

  //Hit testing

  public enum HHTDefs

  {

    HHT_NOWHERE             =0x0001,

    HHT_ONHEADER            =0x0002,

    HHT_ONDIVIDER           =0x0004,

    HHT_ONDIVOPEN           =0x0008,

    HHT_ONFILTER            =0x0010,

    HHT_ONFILTERBUTTON      =0x0020,

    HHT_ABOVE               =0x0100,

    HHT_BELOW               =0x0200,

    HHT_TORIGHT             =0x0400,

    HHT_TOLEFT              =0x0800

  }

 

  //header messages for ListView etc

  public enum HDMDefs

  {

    HDM_FIRST               =0x1200,      // Header messages

    HDM_GETITEMCOUNT        =(HDM_FIRST + 0),

    HDM_INSERTITEMA         =(HDM_FIRST + 1),

    HDM_INSERTITEMW         =(HDM_FIRST + 10),

    HDM_INSERTITEM          =HDM_INSERTITEMA,

    HDM_DELETEITEM          =(HDM_FIRST + 2),

    HDM_GETITEMA            =(HDM_FIRST + 3),

    HDM_GETITEMW            =(HDM_FIRST + 11),

    HDM_GETITEM             =HDM_GETITEMA,

    HDM_SETITEMA            =(HDM_FIRST + 4),

    HDM_SETITEMW            =(HDM_FIRST + 12),

    HDM_SETITEM             =HDM_SETITEMA,

    HDM_LAYOUT              =(HDM_FIRST + 5),

    HDM_HITTEST             =(HDM_FIRST + 6),

    HDM_GETITEMRECT         =(HDM_FIRST + 7),

    HDM_SETIMAGELIST        =(HDM_FIRST + 8),

    HDM_GETIMAGELIST        =(HDM_FIRST + 9),

    HDM_ORDERTOINDEX        =(HDM_FIRST + 15),

    HDM_CREATEDRAGIMAGE     =(HDM_FIRST + 16),  // wparam = which item (by index)

    HDM_GETORDERARRAY       =(HDM_FIRST + 17),

    HDM_SETORDERARRAY       =(HDM_FIRST + 18),

    HDM_SETHOTDIVIDER       =   (HDM_FIRST + 19),

    HDM_SETBITMAPMARGIN     =     (HDM_FIRST + 20),

    HDM_GETBITMAPMARGIN     =     (HDM_FIRST + 21),

    //HDM_SETUNICODEFORMAT   =CCM_SETUNICODEFORMAT

    //HDM_GETUNICODEFORMAT   =CCM_GETUNICODEFORMAT

    HDM_SETFILTERCHANGETIMEOUT  =(HDM_FIRST+22),

    HDM_EDITFILTER          =(HDM_FIRST+23),

    HDM_CLEARFILTER         =(HDM_FIRST+24),

  }

 

  //GetWindowLong

  public enum GWLDefs

  {

    GWL_WNDPROC         =(-4),

    GWL_HINSTANCE       =(-6),

    GWL_HWNDPARENT      =(-8),

    GWL_STYLE           =(-16),

    GWL_EXSTYLE         =(-20),

    GWL_USERDATA        =(-21),

    GWL_ID              =(-12)

  }

 

 

  //ListView Styles

  public enum LVSDefs

  {

    LVS_ICON                =0x0000,

    LVS_REPORT              =0x0001,

    LVS_SMALLICON           =0x0002,

    LVS_LIST                =0x0003,

    LVS_TYPEMASK            =0x0003,

    LVS_SINGLESEL           =0x0004,

    LVS_SHOWSELALWAYS       =0x0008,

    LVS_SORTASCENDING       =0x0010,

    LVS_SORTDESCENDING      =0x0020,

    LVS_SHAREIMAGELISTS     =0x0040,

    LVS_NOLABELWRAP         =0x0080,

    LVS_AUTOARRANGE         =0x0100,

    LVS_EDITLABELS          =0x0200,

    LVS_OWNERDATA           =0x1000,

    LVS_NOSCROLL            =0x2000,

    LVS_TYPESTYLEMASK       =0xfc00,

    LVS_ALIGNTOP            =0x0000,

    LVS_ALIGNLEFT           =0x0800,

    LVS_ALIGNMASK           =0x0c00,

    LVS_OWNERDRAWFIXED      =0x0400,

    LVS_NOCOLUMNHEADER      =0x4000,

    LVS_NOSORTHEADER        =0x8000

  }

 

 

  //ListView messages

  public enum LVMDefs

  {

    LVM_FIRST               =0x1000,      // ListView messages

    LVM_GETITEMRECT         =(LVM_FIRST + 14),

    LVM_GETSUBITEMRECT      =(LVM_FIRST + 56)

  }

 

  //ListView Inquiry defs

  public enum LVIRDefs

  {

    LVIR_BOUNDS             =0,

    LVIR_ICON               =1,

    LVIR_LABEL              =2,

    LVIR_SELECTBOUNDS       =3

  }

 

  //Window Styles for ordinary and EX styles

  public enum WSDefs

  {

    WS_OVERLAPPED       =0x00000000,

    WS_POPUP            =-2147483648,

    WS_CHILD            =0x40000000,

    WS_MINIMIZE         =0x20000000,

    WS_VISIBLE          =0x10000000,

    WS_DISABLED         =0x08000000,

    WS_CLIPSIBLINGS     =0x04000000,

    WS_CLIPCHILDREN     =0x02000000,

    WS_MAXIMIZE         =0x01000000,

    WS_CAPTION          =0x00C00000,    /* WS_BORDER | WS_DLGFRAME  */

    WS_BORDER           =0x00800000,

    WS_DLGFRAME         =0x00400000,

    WS_VSCROLL          =0x00200000,

    WS_HSCROLL          =0x00100000,

    WS_SYSMENU          =0x00080000,

    WS_THICKFRAME       =0x00040000,

    WS_GROUP            =0x00020000,

    WS_TABSTOP          =0x00010000,

 

    WS_MINIMIZEBOX      =0x00020000,

    WS_MAXIMIZEBOX      =0x00010000,

 

 

    WS_TILED            =WS_OVERLAPPED,

    WS_ICONIC           =WS_MINIMIZE,

    WS_SIZEBOX          =WS_THICKFRAME,

    WS_TILEDWINDOW      =WS_OVERLAPPEDWINDOW,

 

    /*

          * Common Window Styles

          */

    WS_OVERLAPPEDWINDOW =(WS_OVERLAPPED     |

    WS_CAPTION        |

    WS_SYSMENU        |

    WS_THICKFRAME     |

    WS_MINIMIZEBOX    |

    WS_MAXIMIZEBOX),

 

    WS_POPUPWINDOW      =(WS_POPUP          |

              WS_BORDER         |

              WS_SYSMENU),

 

    WS_CHILDWINDOW      =(WS_CHILD),

 

    /*

        * Extended Window Styles

        */

    WS_EX_DLGMODALFRAME     =0x00000001,

    WS_EX_NOPARENTNOTIFY    =0x00000004,

    WS_EX_TOPMOST           =0x00000008,

    WS_EX_ACCEPTFILES       =0x00000010,

    WS_EX_TRANSPARENT       =0x00000020,

    WS_EX_MDICHILD          =0x00000040,

    WS_EX_TOOLWINDOW        =0x00000080,

    WS_EX_WINDOWEDGE        =0x00000100,

    WS_EX_CLIENTEDGE        =0x00000200,

    WS_EX_CONTEXTHELP       =0x00000400,

 

    WS_EX_RIGHT             =0x00001000,

    WS_EX_LEFT              =0x00000000,

    WS_EX_RTLREADING        =0x00002000,

    WS_EX_LTRREADING        =0x00000000,

    WS_EX_LEFTSCROLLBAR     =0x00004000,

    WS_EX_RIGHTSCROLLBAR    =0x00000000,

 

    WS_EX_CONTROLPARENT     =0x00010000,

    WS_EX_STATICEDGE        =0x00020000,

    WS_EX_APPWINDOW         =0x00040000,

 

    WS_EX_OVERLAPPEDWINDOW  =(WS_EX_WINDOWEDGE | WS_EX_CLIENTEDGE),

    WS_EX_PALETTEWINDOW     =(WS_EX_WINDOWEDGE | WS_EX_TOOLWINDOW | WS_EX_TOPMOST),

 

    WS_EX_LAYERED           =0x00080000,

 

 

    WS_EX_NOINHERITLAYOUT   =0x00100000, // Disable inheritence of mirroring by children

    WS_EX_LAYOUTRTL         =0x00400000, // Right to left mirroring

 

    WS_EX_COMPOSITED        =0x02000000,

    WS_EX_NOACTIVATE        =0x08000000

  }

 

  public enum SIFDefs

  {

    SIF_RANGE           =0x0001,

    SIF_PAGE            =0x0002,

    SIF_POS             =0x0004,

    SIF_DISABLENOSCROLL =0x0008,

    SIF_TRACKPOS        =0x0010,

    SIF_ALL             =(SIF_RANGE | SIF_PAGE | SIF_POS | SIF_TRACKPOS)

  }

 

  //Scrollbar

  public enum SBDefs

  {

    SB_HORZ             =0,

    SB_VERT             =1,

    SB_CTL              =2,

    SB_BOTH             =3,

    SB_LINEUP           =0,

    SB_LINELEFT         =0,

    SB_LINEDOWN         =1,

    SB_LINERIGHT        =1,

    SB_PAGEUP           =2,

    SB_PAGELEFT         =2,

    SB_PAGEDOWN         =3,

    SB_PAGERIGHT        =3,

    SB_THUMBPOSITION    =4,

    SB_THUMBTRACK       =5,

    SB_TOP              =6,

    SB_LEFT             =6,

    SB_BOTTOM           =7,

    SB_RIGHT            =7,

    SB_ENDSCROLL        =8

  }

 

  //Windows Message Definitions

  public enum WMDefs

  {

    WM_NULL                         =0x0000,

    WM_CREATE                       =0x0001,

    WM_DESTROY                      =0x0002,

    WM_MOVE                         =0x0003,

    WM_SIZE                         =0x0005,

    WM_ACTIVATE                     =0x0006,

    WA_INACTIVE     =0,

    WA_ACTIVE       =1,

    WA_CLICKACTIVE  =2,

    WM_SETFOCUS                     =0x0007,

    WM_KILLFOCUS                    =0x0008,

    WM_ENABLE                       =0x000A,

    WM_SETREDRAW                    =0x000B,

    WM_SETTEXT                      =0x000C,

    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                =WM_WININICHANGE,

    WM_DEVMODECHANGE                =0x001B,

    WM_ACTIVATEAPP                  =0x001C,

    WM_FONTCHANGE                   =0x001D,

    WM_TIMECHANGE                   =0x001E,

    WM_CANCELMODE                   =0x001F,

    WM_SETCURSOR                    =0x0020,

    WM_MOUSEACTIVATE                =0x0021,

    WM_CHILDACTIVATE                =0x0022,

    WM_QUEUESYNC                    =0x0023,

    WM_GETMINMAXINFO                =0x0024,

    WM_PAINTICON                    =0x0026,

    WM_ICONERASEBKGND               =0x0027,

    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_COMPAREITEM                  =0x0039,

    WM_GETOBJECT                    =0x003D,

    WM_COMPACTING                   =0x0041,

    WM_COMMNOTIFY                   =0x0044,

    WM_WINDOWPOSCHANGING            =0x0046,

    WM_WINDOWPOSCHANGED             =0x0047,

    WM_POWER                        =0x0048,

    PWR_OK              =1,

    PWR_FAIL            =0xffff,

    PWR_SUSPENDREQUEST        =1,

    PWR_SUSPENDRESUME        =2,

    PWR_CRITICALRESUME        =3,

    WM_COPYDATA                     =0x004A,

    WM_CANCELJOURNAL                =0x004B,

    WM_NOTIFY                       =0x004E,

    WM_INPUTLANGCHANGEREQUEST       =0x0050,

    WM_INPUTLANGCHANGE              =0x0051,

    WM_TCARD                        =0x0052,

    WM_HELP                         =0x0053,

    WM_USERCHANGED                  =0x0054,

    WM_NOTIFYFORMAT                 =0x0055,

    NFR_ANSI                             =1,

    NFR_UNICODE                          =2,

    NF_QUERY                             =3,

    NF_REQUERY                           =4,

    WM_CONTEXTMENU                  =0x007B,

    WM_STYLECHANGING                =0x007C,

    WM_STYLECHANGED                 =0x007D,

    WM_DISPLAYCHANGE                =0x007E,

    WM_GETICON                      =0x007F,

    WM_SETICON                      =0x0080,

    WM_NCCREATE                     =0x0081,

    WM_NCDESTROY                    =0x0082,

    WM_NCCALCSIZE                   =0x0083,

    WM_NCHITTEST                    =0x0084,

    WM_NCPAINT                      =0x0085,

    WM_NCACTIVATE                   =0x0086,

    WM_GETDLGCODE                   =0x0087,

    WM_SYNCPAINT                    =0x0088,

    WM_NCMOUSEMOVE                  =0x00A0,

    WM_NCLBUTTONDOWN                =0x00A1,

    WM_NCLBUTTONUP                  =0x00A2,

    WM_NCLBUTTONDBLCLK              =0x00A3,

    WM_NCRBUTTONDOWN                =0x00A4,

    WM_NCRBUTTONUP                  =0x00A5,

    WM_NCRBUTTONDBLCLK              =0x00A6,

    WM_NCMBUTTONDOWN                =0x00A7,

    WM_NCMBUTTONUP                  =0x00A8,

    WM_NCMBUTTONDBLCLK              =0x00A9,

    WM_NCXBUTTONDOWN                =0x00AB,

    WM_NCXBUTTONUP                  =0x00AC,

    WM_NCXBUTTONDBLCLK              =0x00AD,

    WM_INPUT                        =0x00FF,

    WM_KEYFIRST                     =0x0100,

    WM_KEYDOWN                      =0x0100,

    WM_KEYUP                        =0x0101,

    WM_CHAR                         =0x0102,

    WM_DEADCHAR                     =0x0103,

    WM_SYSKEYDOWN                   =0x0104,

    WM_SYSKEYUP                     =0x0105,

    WM_SYSCHAR                      =0x0106,

    WM_SYSDEADCHAR                  =0x0107,

    WM_UNICHAR                      =0x0109,

    WM_KEYLAST                      =0x0108,

    UNICODE_NOCHAR                  =0xFFFF,

    WM_IME_STARTCOMPOSITION         =0x010D,

    WM_IME_ENDCOMPOSITION           =0x010E,

    WM_IME_COMPOSITION              =0x010F,

    WM_IME_KEYLAST                  =0x010F,

    WM_INITDIALOG                   =0x0110,

    WM_COMMAND                      =0x0111,

    WM_SYSCOMMAND                   =0x0112,

    WM_TIMER                        =0x0113,

    WM_HSCROLL                      =0x0114,

    WM_VSCROLL                      =0x0115,

    WM_INITMENU                     =0x0116,

    WM_INITMENUPOPUP                =0x0117,

    WM_MENUSELECT                   =0x011F,

    WM_MENUCHAR                     =0x0120,

    WM_ENTERIDLE                    =0x0121,

    WM_MENURBUTTONUP                =0x0122,

    WM_MENUDRAG                     =0x0123,

    WM_MENUGETOBJECT                =0x0124,

    WM_UNINITMENUPOPUP              =0x0125,

    WM_MENUCOMMAND                  =0x0126,

    WM_CHANGEUISTATE                =0x0127,

    WM_UPDATEUISTATE                =0x0128,

    WM_QUERYUISTATE                 =0x0129,

    UIS_SET                         =1,

    UIS_CLEAR                       =2,

    UIS_INITIALIZE                  =3,

    UISF_HIDEFOCUS                  =0x1,

    UISF_HIDEACCEL                  =0x2,

    UISF_ACTIVE                     =0x4,

    WM_CTLCOLOR                     =0x0019,

    WM_CTLCOLORMSGBOX               =0x0132,

    WM_CTLCOLOREDIT                 =0x0133,

    WM_CTLCOLORLISTBOX              =0x0134,

    WM_CTLCOLORBTN                  =0x0135,

    WM_CTLCOLORDLG                  =0x0136,

    WM_CTLCOLORSCROLLBAR            =0x0137,

    WM_CTLCOLORSTATIC               =0x0138,

    MN_GETHMENU                     =0x01E1,

    WM_MOUSEFIRST                   =0x0200,

    WM_MOUSEMOVE                    =0x0200,

    WM_LBUTTONDOWN                  =0x0201,

    WM_LBUTTONUP                    =0x0202,

    WM_LBUTTONDBLCLK                =0x0203,

    WM_RBUTTONDOWN                  =0x0204,

    WM_RBUTTONUP                    =0x0205,

    WM_RBUTTONDBLCLK                =0x0206,

    WM_MBUTTONDOWN                  =0x0207,

    WM_MBUTTONUP                    =0x0208,

    WM_MBUTTONDBLCLK                =0x0209,

    WM_MOUSEWHEEL                   =0x020A,

    WM_XBUTTONDOWN                  =0x020B,

    WM_XBUTTONUP                    =0x020C,

    WM_XBUTTONDBLCLK                =0x020D,

    WM_MOUSELAST                    =0x020D,

    WHEEL_DELTA                     =120,

    XBUTTON1             =0x0001,

    XBUTTON2             =0x0002,

    WM_PARENTNOTIFY                 =0x0210,

    WM_ENTERMENULOOP                =0x0211,

    WM_EXITMENULOOP                 =0x0212,

    WM_NEXTMENU                     =0x0213,

    WM_SIZING                       =0x0214,

    WM_CAPTURECHANGED               =0x0215,

    WM_MOVING                       =0x0216,

    WM_POWERBROADCAST               =0x0218,

    PBT_APMQUERYSUSPEND             =0x0000,

    PBT_APMQUERYSTANDBY             =0x0001,

    PBT_APMQUERYSUSPENDFAILED       =0x0002,

    PBT_APMQUERYSTANDBYFAILED       =0x0003,

    PBT_APMSUSPEND                  =0x0004,

    PBT_APMSTANDBY                  =0x0005,

    PBT_APMRESUMECRITICAL           =0x0006,

    PBT_APMRESUMESUSPEND            =0x0007,

    PBT_APMRESUMESTANDBY            =0x0008,

    PBTF_APMRESUMEFROMFAILURE       =0x00000001,

    PBT_APMBATTERYLOW               =0x0009,

    PBT_APMPOWERSTATUSCHANGE        =0x000A,

    PBT_APMOEMEVENT                 =0x000B,

    PBT_APMRESUMEAUTOMATIC          =0x0012,

    WM_DEVICECHANGE                 =0x0219,

    WM_MDICREATE                    =0x0220,

    WM_MDIDESTROY                   =0x0221,

    WM_MDIACTIVATE                  =0x0222,

    WM_MDIRESTORE                   =0x0223,

    WM_MDINEXT                      =0x0224,

    WM_MDIMAXIMIZE                  =0x0225,

    WM_MDITILE                      =0x0226,

    WM_MDICASCADE                   =0x0227,

    WM_MDIICONARRANGE               =0x0228,

    WM_MDIGETACTIVE                 =0x0229,

    WM_MDISETMENU                   =0x0230,

    WM_ENTERSIZEMOVE                =0x0231,

    WM_EXITSIZEMOVE                 =0x0232,

    WM_DROPFILES                    =0x0233,

    WM_MDIREFRESHMENU               =0x0234,

    WM_IME_SETCONTEXT               =0x0281,

    WM_IME_NOTIFY                   =0x0282,

    WM_IME_CONTROL                  =0x0283,

    WM_IME_COMPOSITIONFULL          =0x0284,

    WM_IME_SELECT                   =0x0285,

    WM_IME_CHAR                     =0x0286,

    WM_IME_REQUEST                  =0x0288,

    WM_IME_KEYDOWN                  =0x0290,

    WM_IME_KEYUP                    =0x0291,

    WM_MOUSEHOVER                   =0x02A1,

    WM_MOUSELEAVE                   =0x02A3,

    WM_NCMOUSELEAVE                 =0x02A2,

    WM_WTSSESSION_CHANGE            =0x02B1,

    WM_TABLET_FIRST                 =0x02c0,

    WM_TABLET_LAST                  =0x02df,

    WM_CUT                          =0x0300,

    WM_COPY                         =0x0301,

    WM_PASTE                        =0x0302,

    WM_CLEAR                        =0x0303,

    WM_UNDO                         =0x0304,

    WM_RENDERFORMAT                 =0x0305,

    WM_RENDERALLFORMATS             =0x0306,

    WM_DESTROYCLIPBOARD             =0x0307,

    WM_DRAWCLIPBOARD                =0x0308,

    WM_PAINTCLIPBOARD               =0x0309,

    WM_VSCROLLCLIPBOARD             =0x030A,

    WM_SIZECLIPBOARD                =0x030B,

    WM_ASKCBFORMATNAME              =0x030C,

    WM_CHANGECBCHAIN                =0x030D,

    WM_HSCROLLCLIPBOARD             =0x030E,

    WM_QUERYNEWPALETTE              =0x030F,

    WM_PALETTEISCHANGING            =0x0310,

    WM_PALETTECHANGED               =0x0311,

    WM_HOTKEY                       =0x0312,

    WM_PRINT                        =0x0317,

    WM_PRINTCLIENT                  =0x0318,

    WM_APPCOMMAND                   =0x0319,

    WM_THEMECHANGED                 =0x031A,

    WM_HANDHELDFIRST                =0x0358,

    WM_HANDHELDLAST                 =0x035F,

    WM_AFXFIRST                     =0x0360,

    WM_AFXLAST                      =0x037F,

    WM_PENWINFIRST                  =0x0380,

    WM_PENWINLAST                   =0x038F,

    WM_USER              =0x0400,

    WM_REFLECT            =0x2000,

    WM_APP                          =0x8000

  }

 

  //Notification messages for common controls

  public enum NMDefs

  {

    NM_FIRST        =0,

    NM_OUTOFMEMORY          =(NM_FIRST-1),

    NM_CLICK                =(NM_FIRST-2),    // uses NMCLICK struct

    NM_DBLCLK               =(NM_FIRST-3),

    NM_RETURN               =(NM_FIRST-4),

    NM_RCLICK               =(NM_FIRST-5),    // uses NMCLICK struct

    NM_RDBLCLK              =(NM_FIRST-6),

    NM_SETFOCUS             =(NM_FIRST-7),

    NM_KILLFOCUS            =(NM_FIRST-8),

    NM_CUSTOMDRAW           =(NM_FIRST-12),

    NM_HOVER                =(NM_FIRST-13),

    NM_NCHITTEST            =(NM_FIRST-14),  // uses NMMOUSE struct

    NM_KEYDOWN              =(NM_FIRST-15), // uses NMKEY struct

    NM_RELEASEDCAPTURE      =(NM_FIRST-16),

    NM_SETCURSOR            =(NM_FIRST-17),   // uses NMMOUSE struct

    NM_CHAR                 =(NM_FIRST-18),   // uses NMCHAR struct

    NM_TOOLTIPSCREATED      =(NM_FIRST-19),   // notify of when the tooltips window is create

    NM_LDOWN                =(NM_FIRST-20),

    NM_RDOWN                =(NM_FIRST-21),

    NM_THEMECHANGED         =(NM_FIRST-22)

  }

 

 

  public enum DWLDefs

  {

    DWL_MSGRESULT   =0,

    DWL_DLGPROC     =4,

    DWL_USER        =8

  }

 

  /// <summary>

  /// Structure passed by ListView notification  messages. 

  /// </summary>

  [StructLayout(LayoutKind.Sequential)]

  public struct NMLISTVIEW

      {

        public NMHDR   hdr;

        public int     iItem;

        public int     iSubItem;

        public int    uNewState;

        public int    uOldState;

        public int    uChanged;

        public Point   ptAction;

        public long     lParam;

      }

 

 

  //reflected notification messages

  public enum OCMDefs

  {

    OCM__BASE           =((int)WMDefs.WM_USER + 0x1c00), //same as WM_REFLECT

    OCM_COMMAND         =(OCM__BASE + (int)WMDefs.WM_COMMAND),

 

    OCM_CTLCOLORBTN     =(OCM__BASE + (int)WMDefs.WM_CTLCOLORBTN),

    OCM_CTLCOLOREDIT    =(OCM__BASE + (int)WMDefs.WM_CTLCOLOREDIT),

    OCM_CTLCOLORDLG     =(OCM__BASE + (int)WMDefs.WM_CTLCOLORDLG),

    OCM_CTLCOLORLISTBOX =(OCM__BASE + (int)WMDefs.WM_CTLCOLORLISTBOX),

    OCM_CTLCOLORMSGBOX  =(OCM__BASE + (int)WMDefs.WM_CTLCOLORMSGBOX),

    OCM_CTLCOLORSCROLLBAR   =(OCM__BASE + (int)WMDefs.WM_CTLCOLORSCROLLBAR),

    OCM_CTLCOLORSTATIC  =(OCM__BASE + (int)WMDefs.WM_CTLCOLORSTATIC),

    OCM_CTLCOLOR        =(OCM__BASE + (int)WMDefs.WM_CTLCOLOR),

    OCM_DRAWITEM        =(OCM__BASE + (int)WMDefs.WM_DRAWITEM),

    OCM_MEASUREITEM     =(OCM__BASE + (int)WMDefs.WM_MEASUREITEM),

    OCM_DELETEITEM      =(OCM__BASE + (int)WMDefs.WM_DELETEITEM),

    OCM_VKEYTOITEM      =(OCM__BASE + (int)WMDefs.WM_VKEYTOITEM),

    OCM_CHARTOITEM      =(OCM__BASE + (int)WMDefs.WM_CHARTOITEM),

    OCM_COMPAREITEM     =(OCM__BASE + (int)WMDefs.WM_COMPAREITEM),

    OCM_HSCROLL         =(OCM__BASE + (int)WMDefs.WM_HSCROLL),

    OCM_VSCROLL         =(OCM__BASE + (int)WMDefs.WM_VSCROLL),

    OCM_PARENTNOTIFY    =(OCM__BASE + (int)WMDefs.WM_PARENTNOTIFY),

    OCM_NOTIFY          =(OCM__BASE + (int)WMDefs.WM_NOTIFY),

  }

 

  //==================== CUSTOM DRAW ==========================================

 

 

  public enum CDRFDefs : int

  {

    // custom draw return flags

    // values under 0x00010000 are reserved for global custom draw values.

    // above that are for specific controls

    CDRF_DODEFAULT          =0x00000000,

    CDRF_NEWFONT            =0x00000002,

    CDRF_SKIPDEFAULT        =0x00000004,

    CDRF_NOTIFYPOSTPAINT    =0x00000010,

    CDRF_NOTIFYITEMDRAW     =0x00000020,

    CDRF_NOTIFYSUBITEMDRAW  =0x00000020,  // flags are the same, we can distinguish by context

    CDRF_NOTIFYPOSTERASE    =0x00000040

  }

 

  public enum CDDSDefs

  {

    // drawstage flags

    // values under 0x00010000 are reserved for global custom draw values.

    // above that are for specific controls

    CDDS_PREPAINT           =0x00000001,

    CDDS_POSTPAINT          =0x00000002,

    CDDS_PREERASE           =0x00000003,

    CDDS_POSTERASE          =0x00000004,

    // the 0x000010000 bit means it's individual item specific

    CDDS_ITEM               =0x00010000,

    CDDS_ITEMPREPAINT       =(CDDS_ITEM | CDDS_PREPAINT),

    CDDS_ITEMPOSTPAINT      =(CDDS_ITEM | CDDS_POSTPAINT),

    CDDS_ITEMPREERASE       =(CDDS_ITEM | CDDS_PREERASE),

    CDDS_ITEMPOSTERASE      =(CDDS_ITEM | CDDS_POSTERASE),

    CDDS_SUBITEM            =0x00020000,

  }

 

  public enum CDISDefs

  {

    // itemState flags

    CDIS_SELECTED       =0x0001,

    CDIS_GRAYED         =0x0002,

    CDIS_DISABLED       =0x0004,

    CDIS_CHECKED        =0x0008,

    CDIS_FOCUS          =0x0010,

    CDIS_DEFAULT        =0x0020,

    CDIS_HOT            =0x0040,

    CDIS_MARKED         =0x0080,

    CDIS_INDETERMINATE  =0x0100,

    CDIS_SHOWKEYBOARDCUES   =0x0200,

  }

 

  public enum AWDefs

  {

    AW_HOR_POSITIVE             =0x00000001,

    AW_HOR_NEGATIVE             =0x00000002,

    AW_VER_POSITIVE             =0x00000004,

    AW_VER_NEGATIVE             =0x00000008,

    AW_CENTER                   =0x00000010,

    AW_HIDE                     =0x00010000,

    AW_ACTIVATE                 =0x00020000,

    AW_SLIDE                    =0x00040000,

    AW_BLEND                    =0x00080000

  }

 

  /// <summary>

  /// flags for layered window attributes

  /// </summary>

  public enum LWADefs

  {

    LWA_COLORKEY            =0x00000001,

    LWA_ALPHA               =0x00000002

  }

 

  /// <summary>

  /// class style definitions

  /// </summary>

  public enum CSDefs

  {

    CS_VREDRAW          =0x0001,

    CS_HREDRAW          =0x0002,

    CS_DBLCLKS          =0x0008,

    CS_OWNDC            =0x0020,

    CS_CLASSDC          =0x0040,

    CS_PARENTDC         =0x0080,

    CS_NOCLOSE          =0x0200,

    CS_SAVEBITS         =0x0800,

    CS_BYTEALIGNCLIENT  =0x1000,

    CS_BYTEALIGNWINDOW  =0x2000,

    CS_GLOBALCLASS      =0x4000,

    CS_IME              =0x00010000,

    CS_DROPSHADOW       =0x00020000

  }

 

  /// <summary>

  /// show window definitions

  /// </summary>

  [Flags()]

  public enum SWDefs

  {

      SW_HIDE            = 0,

      SW_SHOWNORMAL      = 1,

      SW_NORMAL          = 1,

      SW_SHOWMINIMIZED   = 2,

      SW_SHOWMAXIMIZED   = 3,

      SW_MAXIMIZE        = 3,

      SW_SHOWNOACTIVATE  = 4,

      SW_SHOW            = 5,

      SW_MINIMIZE        = 6,

      SW_SHOWMINNOACTIVE = 7,

      SW_SHOWNA          = 8,

      SW_RESTORE         = 9,

      SW_SHOWDEFAULT     = 10,

      SW_FORCEMINIMIZE   = 11,

      SW_MAX             = 11

  }

 

  /// <summary>

  /// redraw window definitions

  /// </summary>

  public enum RDWDefs

  {

    RDW_INVALIDATE          =0x0001,

    RDW_INTERNALPAINT       =0x0002,

    RDW_ERASE               =0x0004,

    RDW_VALIDATE            =0x0008,

    RDW_NOINTERNALPAINT     =0x0010,

    RDW_NOERASE             =0x0020,

    RDW_NOCHILDREN          =0x0040,

    RDW_ALLCHILDREN         =0x0080,

    RDW_UPDATENOW           =0x0100,

    RDW_ERASENOW            =0x0200,

    RDW_FRAME               =0x0400,

    RDW_NOFRAME             =0x0800

  }

 

  public enum WADefs

  {

    WA_INACTIVE     =0,

    WA_ACTIVE       =1,

    WA_CLICKACTIVE  =2

  }

 

 

  /// <summary>

  /// notification message header

  /// </summary>

  [StructLayout(LayoutKind.Sequential)]

  public struct NMHDR

  {

    public System.IntPtr hwndFrom;

    public System.IntPtr idFrom;

    public int code;

  }

 

  /// <summary>

  /// notification message for custom draw

  /// </summary>

  [StructLayout(LayoutKind.Sequential)]

  public struct NMCUSTOMDRAW

  {

    public NMHDR hdr;

    public int dwDrawStage;

    public IntPtr hdc;

    public RECT rc;

    public int dwItemSpec;  // this is control specific, but it's how to specify an item.  valid only with CDDS_ITEM bit set

    public int  uItemState;

    public int lItemlParam;

  }

 

  /// <summary>

  /// notification message for custom drawn list views

  /// </summary>

  [StructLayout(LayoutKind.Sequential)]

  public struct NMLVCUSTOMDRAW

  {

    public NMCUSTOMDRAW nmcd;

    public COLORREF clrText;

    public COLORREF clrTextBk;

    public int iSubItem;

    public int dwItemType;

    public COLORREF clrFace;

    public int iIconEffect;

    public int iIconPhase;

    public int iPartId;

    public int iStateId;

    public RECT rcText;

    public int uAlign;

  }

 

 

  [StructLayout(LayoutKind.Sequential)]

  public struct NMTTCUSTOMDRAW

  {

    public NMCUSTOMDRAW nmcd;

    public int uDrawFlags;

  }

 

  /// <summary>

  /// windows 32 color reference

  /// </summary>

  public struct COLORREF

  {

    public int color;

 

    public Color Color

    {

      get

      {

        return ColorTranslator.FromWin32(color);

      }

      set

      {

        color=ColorTranslator.ToWin32(value);

      }

    }

  }

 

  /// <summary>

  /// points

  /// </summary>

  public struct POINT

  {

    public int X;

    public int Y;

 

    public Point Point

    {

      get

      {

        return new Point(X,Y);

      }

    }

  }

 

  /// <summary>

  /// header hit test information

  /// </summary>

  public struct HDHITTESTINFO

  {

    public POINT pt;

    public int flags;

    public int iItem;

  }

 

  /// <summary>

  ///

  /// </summary>

  public struct PAINTSTRUCT

  {

    public IntPtr hdc;

    public int fErase;

    public RECT rcPaint;

    public int fRestore;

    public int fIncUpdate;

    public long rgbReserved1;

    public long rgbReserved2;

    public long rgbReserved3;

    public long rgbReserved4;

  }   

 

  [StructLayout(LayoutKind.Sequential)]

  public struct SCROLLINFO

  {

    public int  cbSize;

    public int  fMask;

    public int  nMin;

    public int  nMax;

    public int  nPage;

    public int  nPos;

    public int  nTrackPos;

  }

 

  [StructLayout(LayoutKind.Sequential)]

  public class DrawItemStruct

  {

    public int CtlType;

    public int CtlID;

    public int itemID;

    public int itemAction;

    public int itemState;

    public IntPtr hwndItem;

    public IntPtr hDC;

    public RECT rcItem;

    public int itemData;

  }

 

  [StructLayout(LayoutKind.Sequential)]

  public struct RECT

  {

    public int left;

    public int top;

    public int right;

    public int bottom;

 

    public int Width

    {

      get{return right-left;}

    }

 

    public int Height

    {

      get{return bottom-top;}

    }

  }

 

  [StructLayout(LayoutKind.Sequential)]

  public struct TRACKMOUSEEVENT

  {

    public int cbSize;

    public int dwFlags;

    public IntPtr hwndTrack;

    public int dwHoverTime;

  }

 

  /// <summary>

  /// track mouse event actions

  /// </summary>

  public enum TMEDefs

  {

    TME_HOVER       =0x00000001,

    TME_LEAVE       =0x00000002,

    TME_NONCLIENT   =0x00000010,

    TME_QUERY       =0x40000000,

    TME_CANCEL      =-2147483648

  }

}

 

 

 

 

 

Copyright © Bob Powell 2000-.  All rights reserved.