Click here to Skip to main content
15,888,610 members
Articles / Programming Languages / C#

Using IMessageFilter to create a generic filter for operating system events

Rate me:
Please Sign up or sign in to vote.
4.55/5 (8 votes)
15 Oct 20031 min read 110.7K   1.5K   39  
An article on implementing IMessageFilter to create a message filter for operating system messages
using System;
using System.Windows.Forms;

namespace MessageFilterUtil
{
	/// <classname>
	/// MessageFilter
	/// </classname>
	/// <summary>
	/// This class implements a messagefilter that acts on the windows messages 
	/// sent to to the application  and filters the supplieed keys.
	/// </summary>
	/// <remarks>
	/// </remarks>
	public class MessageFilter:IMessageFilter
	{
		
		/// <summary>
		/// Holds the Keys to be suppressed.
		/// </summary>
		private int[] marrKeysToRestrict;

		/// <propertyname> 
		/// KeysToRestrict 
		/// </propertyname> 
		/// <summary>
		/// Gets or sets the keys to be restricted on the application.
		/// </summary>
		/// <value>
		/// Array containing the virtual key values of the keys to be restricted.
		/// </value> 
		/// <remarks> 
		/// </remarks> 
		/// <exception > 
		/// </exception> 
		public int[] KeysToRestrict
		{
			get
			{
				return marrKeysToRestrict;
			}
			set
			{
				marrKeysToRestrict = value;
			}
		}
		public MessageFilter()
		{
			//
			// TODO: Add constructor logic here
			//
		}
		/// <method>
		/// PreFilterMessage
		/// </method>
		/// <summary>
		/// Overriden method. Called when this message filter is set by the application
		/// </summary>
		/// <history>
		/// <param name = "objMessage">
		/// The windows message object.
		/// </param>
		/// Author				:	Wipro
		/// Creation Date		:	07/22/2003
		/// Last revised		: 
		/// Revision history	:
		/// <returns>
		/// None 
		/// </returns>
		/// <exception>
		/// </exception>		
		public bool PreFilterMessage(ref Message objMessage)
		{
			//Check if the Message is a windows Key down message
			if(objMessage.Msg == Convert.ToInt32(WindowsMessages.WM_KEYDOWN))
			{
				
				for(int i=0;i<marrKeysToRestrict.Length;i++)
				{
					//Check if the Message's WParam(the key value) is in the restricted keys list
					if( objMessage.WParam.ToInt32() == marrKeysToRestrict[i])
					//Disable  message propagation
					return true;
				}				
			}
			return false;
		}
		
		public  enum  VirtualKeys : int
		{
		VK_LBUTTON = 0x01,
		VK_RBUTTON = 0x02,
		VK_CANCEL =	0x03,
		VK_MBUTTON = 0x04,
		VK_XBUTTON1 = 0x05,
		VK_XBUTTON2 = 0x6,
		VK_BACK  = 0x08,
		VK_TAB   = 0x09,
		VK_RETURN = 0x0D,
		VK_SHIFT =  0x10,
		VK_CONTROL = 0x11,
		VK_ESCAPE = 0x1B,
		VK_SPACE = 0x20,		
		VK_LEFT =  0x25,
		VK_UP = 0x26,
		VK_RIGHT = 0x27,
		VK_DOWN = 0x28,
		VK_DELETE = 0x2E,
		VK_F1 =  0x70,
		VK_F2 = 0x71,
		VK_F3 = 0x72,
		VK_F4 = 0x73,
		VK_F5 = 0x74,
		VK_F6 = 0x75,
		VK_F7 = 0x76,
		VK_F8 = 0x77,
		VK_F9 = 0x78,
		VK_F10 = 0x79,
		VK_F11 = 0x7A,
		VK_F12 = 0x7B,
		VK_F13 = 0x7C,
		VK_F14 = 0x7D,
		}		
		private enum WindowsMessages: int
		{
			WM_NULL = 0x0000,
			WM_CREATE = 0x0001,
			WM_DESTROY = 0x0002,
			WM_MOVE = 0x0003,
			WM_SIZE = 0x0005,
			WM_ACTIVATE = 0x0006,
			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 = 0x001A,
			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,
			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,
			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_NT501 = 0x0109,
			UNICODE_NOCHAR = 0xFFFF,
			WM_KEYLAST_PRE501 = 0x0108,
			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,
			WM_CTLCOLORMSGBOX = 0x0132,
			WM_CTLCOLOREDIT = 0x0133,
			WM_CTLCOLORLISTBOX = 0x0134,
			WM_CTLCOLORBTN = 0x0135,
			WM_CTLCOLORDLG = 0x0136,
			WM_CTLCOLORSCROLLBAR = 0x0137,
			WM_CTLCOLORSTATIC = 0x0138,
			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_5 = 0x020D,
			WM_MOUSELAST_4 = 0x020A,
			WM_MOUSELAST_PRE_4 = 0x0209,
			WM_PARENTNOTIFY = 0x0210,
			WM_ENTERMENULOOP = 0x0211,
			WM_EXITMENULOOP = 0x0212,
			WM_NEXTMENU = 0x0213,
			WM_SIZING = 0x0214,
			WM_CAPTURECHANGED = 0x0215,
			WM_MOVING = 0x0216,
			WM_POWERBROADCAST = 0x0218,
			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_NCMOUSEHOVER = 0x02A0,
			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_APP = 0x8000,
			WM_USER = 0x0400,
			EM_GETSEL = 0x00B0,
			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_LIMITTEXT = 0x00C5,
			EM_CANUNDO = 0x00C6,
			EM_UNDO = 0x00C7,
			EM_FMTLINES = 0x00C8,
			EM_LINEFROMCHAR = 0x00C9,
			EM_SETTABSTOPS = 0x00CB,
			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,
			BM_SETIMAGE= 0x00F7,
			STM_SETICON = 0x0170,
			STM_GETICON = 0x0171,
			STM_SETIMAGE = 0x0172,
			STM_GETIMAGE = 0x0173,
			STM_MSGMAX = 0x0174,
			DM_GETDEFID = (WM_USER+0),
			DM_SETDEFID = (WM_USER+1),
			DM_REPOSITION = (WM_USER+2),
			LB_ADDSTRING = 0x0180,
			LB_INSERTSTRING = 0x0181,
			LB_DELETESTRING = 0x0182,
			LB_SELITEMRANGEEX= 0x0183,
			LB_RESETCONTENT = 0x0184,
			LB_SETSEL = 0x0185,
			LB_SETCURSEL = 0x0186,
			LB_GETSEL = 0x0187,
			LB_GETCURSEL = 0x0188,
			LB_GETTEXT = 0x0189,
			LB_GETTEXTLEN = 0x018A,
			LB_GETCOUNT = 0x018B,
			LB_SELECTSTRING = 0x018C,
			LB_DIR = 0x018D,
			LB_GETTOPINDEX = 0x018E,
			LB_FINDSTRING = 0x018F,
			LB_GETSELCOUNT = 0x0190,
			LB_GETSELITEMS = 0x0191,
			LB_SETTABSTOPS = 0x0192,
			LB_GETHORIZONTALEXTENT = 0x0193,
			LB_SETHORIZONTALEXTENT = 0x0194,
			LB_SETCOLUMNWIDTH = 0x0195,
			LB_ADDFILE = 0x0196,
			LB_SETTOPINDEX = 0x0197,
			LB_GETITEMRECT = 0x0198,
			LB_GETITEMDATA = 0x0199,
			LB_SETITEMDATA = 0x019A,
			LB_SELITEMRANGE = 0x019B,
			LB_SETANCHORINDEX = 0x019C,
			LB_GETANCHORINDEX = 0x019D,
			LB_SETCARETINDEX = 0x019E,
			LB_GETCARETINDEX = 0x019F,
			LB_SETITEMHEIGHT = 0x01A0,
			LB_GETITEMHEIGHT = 0x01A1,
			LB_FINDSTRINGEXACT = 0x01A2,
			LB_SETLOCALE = 0x01A5,
			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_LIMITTEXT = 0x0141,
			CB_SETEDITSEL = 0x0142,
			CB_ADDSTRING = 0x0143,
			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_FINDSTRING = 0x014C,
			CB_SELECTSTRING = 0x014D,
			CB_SETCURSEL = 0x014E,
			CB_SHOWDROPDOWN = 0x014F,
			CB_GETITEMDATA = 0x0150,
			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_MULTIPLEADDSTRING = 0x0163,
			CB_GETCOMBOBOXINFO = 0x0164,
			CB_MSGMAX_501 = 0x0165,
			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_SETSCROLLINFO = 0x00E9,
			SBM_GETSCROLLINFO = 0x00EA,
			SBM_GETSCROLLBARINFO= 0x00EB,
			LVM_FIRST = 0x1000,// ListView messages
			TV_FIRST = 0x1100,// TreeView messages
			HDM_FIRST = 0x1200,// Header messages
			TCM_FIRST = 0x1300,// Tab control messages
			PGM_FIRST = 0x1400,// Pager control messages
			ECM_FIRST = 0x1500,// Edit control messages
			BCM_FIRST = 0x1600,// Button control messages
			CBM_FIRST = 0x1700,// Combobox control messages
			CCM_FIRST = 0x2000,// Common control shared messages
			CCM_LAST =(CCM_FIRST + 0x200),
			CCM_SETBKCOLOR = (CCM_FIRST + 1),
			CCM_SETCOLORSCHEME = (CCM_FIRST + 2),
			CCM_GETCOLORSCHEME = (CCM_FIRST + 3),
			CCM_GETDROPTARGET = (CCM_FIRST + 4),
			CCM_SETUNICODEFORMAT = (CCM_FIRST + 5),
			CCM_GETUNICODEFORMAT = (CCM_FIRST + 6),
			CCM_SETVERSION = (CCM_FIRST + 0x7),
			CCM_GETVERSION = (CCM_FIRST + 0x8),
			CCM_SETNOTIFYWINDOW = (CCM_FIRST + 0x9),
			CCM_SETWINDOWTHEME = (CCM_FIRST + 0xb),
			CCM_DPISCALE = (CCM_FIRST + 0xc),
			HDM_GETITEMCOUNT = (HDM_FIRST + 0),
			HDM_INSERTITEMA = (HDM_FIRST + 1),
			HDM_INSERTITEMW = (HDM_FIRST + 10),
			HDM_DELETEITEM = (HDM_FIRST + 2),
			HDM_GETITEMA = (HDM_FIRST + 3),
			HDM_GETITEMW = (HDM_FIRST + 11),
			HDM_SETITEMA = (HDM_FIRST + 4),
			HDM_SETITEMW = (HDM_FIRST + 12),
			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),
			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),
			TB_ENABLEBUTTON = (WM_USER + 1),
			TB_CHECKBUTTON = (WM_USER + 2),
			TB_PRESSBUTTON = (WM_USER + 3),
			TB_HIDEBUTTON = (WM_USER + 4),
			TB_INDETERMINATE = (WM_USER + 5),
			TB_MARKBUTTON = (WM_USER + 6),
			TB_ISBUTTONENABLED = (WM_USER + 9),
			TB_ISBUTTONCHECKED = (WM_USER + 10),
			TB_ISBUTTONPRESSED = (WM_USER + 11),
			TB_ISBUTTONHIDDEN = (WM_USER + 12),
			TB_ISBUTTONINDETERMINATE = (WM_USER + 13),
			TB_ISBUTTONHIGHLIGHTED = (WM_USER + 14),
			TB_SETSTATE = (WM_USER + 17),
			TB_GETSTATE = (WM_USER + 18),
			TB_ADDBITMAP = (WM_USER + 19),
			TB_ADDBUTTONSA = (WM_USER + 20),
			TB_INSERTBUTTONA = (WM_USER + 21),
			TB_ADDBUTTONS = (WM_USER + 20),
			TB_INSERTBUTTON = (WM_USER + 21),
			TB_DELETEBUTTON = (WM_USER + 22),
			TB_GETBUTTON = (WM_USER + 23),
			TB_BUTTONCOUNT = (WM_USER + 24),
			TB_COMMANDTOINDEX = (WM_USER + 25),
			TB_SAVERESTOREA = (WM_USER + 26),
			TB_SAVERESTOREW = (WM_USER + 76),
			TB_CUSTOMIZE = (WM_USER + 27),
			TB_ADDSTRINGA = (WM_USER + 28),
			TB_ADDSTRINGW = (WM_USER + 77),
			TB_GETITEMRECT = (WM_USER + 29),
			TB_BUTTONSTRUCTSIZE = (WM_USER + 30),
			TB_SETBUTTONSIZE = (WM_USER + 31),
			TB_SETBITMAPSIZE = (WM_USER + 32),
			TB_AUTOSIZE = (WM_USER + 33),
			TB_GETTOOLTIPS = (WM_USER + 35),
			TB_SETTOOLTIPS = (WM_USER + 36),
			TB_SETPARENT = (WM_USER + 37),
			TB_SETROWS = (WM_USER + 39),
			TB_GETROWS = (WM_USER + 40),
			TB_SETCMDID = (WM_USER + 42),
			TB_CHANGEBITMAP = (WM_USER + 43),
			TB_GETBITMAP = (WM_USER + 44),
			TB_GETBUTTONTEXTA = (WM_USER + 45),
			TB_GETBUTTONTEXTW = (WM_USER + 75),
			TB_REPLACEBITMAP = (WM_USER + 46),
			TB_SETINDENT = (WM_USER + 47),
			TB_SETIMAGELIST = (WM_USER + 48),
			TB_GETIMAGELIST = (WM_USER + 49),
			TB_LOADIMAGES = (WM_USER + 50),
			TB_GETRECT = (WM_USER + 51),
			TB_SETHOTIMAGELIST = (WM_USER + 52),
			TB_GETHOTIMAGELIST = (WM_USER + 53),
			TB_SETDISABLEDIMAGELIST = (WM_USER + 54),
			TB_GETDISABLEDIMAGELIST = (WM_USER + 55),
			TB_SETSTYLE = (WM_USER + 56),
			TB_GETSTYLE = (WM_USER + 57),
			TB_GETBUTTONSIZE = (WM_USER + 58),
			TB_SETBUTTONWIDTH = (WM_USER + 59),
			TB_SETMAXTEXTROWS = (WM_USER + 60),
			TB_GETTEXTROWS = (WM_USER + 61),
			TB_GETOBJECT = (WM_USER + 62),
			TB_GETHOTITEM = (WM_USER + 71),
			TB_SETHOTITEM = (WM_USER + 72), 
			TB_SETANCHORHIGHLIGHT = (WM_USER + 73), 
			TB_GETANCHORHIGHLIGHT = (WM_USER + 74),
			TB_MAPACCELERATORA = (WM_USER + 78), 
			TB_GETINSERTMARK = (WM_USER + 79), 
			TB_SETINSERTMARK = (WM_USER + 80), 
			TB_INSERTMARKHITTEST = (WM_USER + 81),
			TB_MOVEBUTTON = (WM_USER + 82),
			TB_GETMAXSIZE = (WM_USER + 83),
			TB_SETEXTENDEDSTYLE = (WM_USER + 84),
			TB_GETEXTENDEDSTYLE = (WM_USER + 85),
			TB_GETPADDING = (WM_USER + 86),
			TB_SETPADDING = (WM_USER + 87),
			TB_SETINSERTMARKCOLOR = (WM_USER + 88),
			TB_GETINSERTMARKCOLOR = (WM_USER + 89),
			TB_SETCOLORSCHEME = CCM_SETCOLORSCHEME,
			TB_GETCOLORSCHEME = CCM_GETCOLORSCHEME,
			TB_SETUNICODEFORMAT = CCM_SETUNICODEFORMAT,
			TB_GETUNICODEFORMAT = CCM_GETUNICODEFORMAT,
			TB_MAPACCELERATORW = (WM_USER + 90),
			TB_GETBITMAPFLAGS = (WM_USER + 41),
			TB_GETBUTTONINFOW = (WM_USER + 63),
			TB_SETBUTTONINFOW = (WM_USER + 64),
			TB_GETBUTTONINFOA = (WM_USER + 65),
			TB_SETBUTTONINFOA = (WM_USER + 66),
			TB_INSERTBUTTONW = (WM_USER + 67),
			TB_ADDBUTTONSW = (WM_USER + 68),
			TB_HITTEST = (WM_USER + 69),
			TB_SETDRAWTEXTFLAGS = (WM_USER + 70),
			TB_GETSTRINGW = (WM_USER + 91),
			TB_GETSTRINGA = (WM_USER + 92),
			TB_GETMETRICS = (WM_USER + 101),
			TB_SETMETRICS = (WM_USER + 102),
			TB_SETWINDOWTHEME = CCM_SETWINDOWTHEME,
			RB_INSERTBANDA = (WM_USER + 1),
			RB_DELETEBAND = (WM_USER + 2),
			RB_GETBARINFO = (WM_USER + 3),
			RB_SETBARINFO = (WM_USER + 4),
			RB_GETBANDINFO = (WM_USER + 5),
			RB_SETBANDINFOA = (WM_USER + 6),
			RB_SETPARENT = (WM_USER + 7),
			RB_HITTEST = (WM_USER + 8),
			RB_GETRECT = (WM_USER + 9),
			RB_INSERTBANDW = (WM_USER + 10),
			RB_SETBANDINFOW = (WM_USER + 11),
			RB_GETBANDCOUNT = (WM_USER + 12),
			RB_GETROWCOUNT = (WM_USER + 13),
			RB_GETROWHEIGHT = (WM_USER + 14),
			RB_IDTOINDEX = (WM_USER + 16), 
			RB_GETTOOLTIPS = (WM_USER + 17),
			RB_SETTOOLTIPS = (WM_USER + 18),
			RB_SETBKCOLOR = (WM_USER + 19),
			RB_GETBKCOLOR = (WM_USER + 20),
			RB_SETTEXTCOLOR = (WM_USER + 21),
			RB_GETTEXTCOLOR = (WM_USER + 22),
			RB_SIZETORECT = (WM_USER + 23),
			RB_SETCOLORSCHEME = CCM_SETCOLORSCHEME,
			RB_GETCOLORSCHEME = CCM_GETCOLORSCHEME,
			RB_BEGINDRAG = (WM_USER + 24),
			RB_ENDDRAG = (WM_USER + 25),
			RB_DRAGMOVE = (WM_USER + 26),
			RB_GETBARHEIGHT = (WM_USER + 27),
			RB_GETBANDINFOW = (WM_USER + 28),
			RB_GETBANDINFOA = (WM_USER + 29),
			RB_MINIMIZEBAND = (WM_USER + 30),
			RB_MAXIMIZEBAND = (WM_USER + 31),
			RB_GETDROPTARGET = (CCM_GETDROPTARGET),
			RB_GETBANDBORDERS = (WM_USER + 34), 
			RB_SHOWBAND = (WM_USER + 35), 
			RB_SETPALETTE = (WM_USER + 37),
			RB_GETPALETTE = (WM_USER + 38),
			RB_MOVEBAND = (WM_USER + 39),
			RB_SETUNICODEFORMAT = CCM_SETUNICODEFORMAT,
			RB_GETUNICODEFORMAT = CCM_GETUNICODEFORMAT,
			RB_GETBANDMARGINS = (WM_USER + 40),
			RB_SETWINDOWTHEME = CCM_SETWINDOWTHEME,
			RB_PUSHCHEVRON = (WM_USER + 43),
			TTM_ACTIVATE = (WM_USER + 1),
			TTM_SETDELAYTIME = (WM_USER + 3),
			TTM_ADDTOOLA = (WM_USER + 4),
			TTM_ADDTOOLW = (WM_USER + 50),
			TTM_DELTOOLA = (WM_USER + 5),
			TTM_DELTOOLW = (WM_USER + 51),
			TTM_NEWTOOLRECTA = (WM_USER + 6),
			TTM_NEWTOOLRECTW = (WM_USER + 52),
			TTM_RELAYEVENT = (WM_USER + 7),
			TTM_GETTOOLINFOA = (WM_USER + 8),
			TTM_GETTOOLINFOW = (WM_USER + 53),
			TTM_SETTOOLINFOA = (WM_USER + 9),
			TTM_SETTOOLINFOW = (WM_USER + 54),
			TTM_HITTESTA = (WM_USER +10),
			TTM_HITTESTW = (WM_USER +55),
			TTM_GETTEXTA = (WM_USER +11),
			TTM_GETTEXTW = (WM_USER +56),
			TTM_UPDATETIPTEXTA = (WM_USER +12),
			TTM_UPDATETIPTEXTW = (WM_USER +57),
			TTM_GETTOOLCOUNT = (WM_USER +13),
			TTM_ENUMTOOLSA = (WM_USER +14),
			TTM_ENUMTOOLSW = (WM_USER +58),
			TTM_GETCURRENTTOOLA = (WM_USER + 15),
			TTM_GETCURRENTTOOLW = (WM_USER + 59),
			TTM_WINDOWFROMPOINT = (WM_USER + 16),
			TTM_TRACKACTIVATE = (WM_USER + 17),
			TTM_TRACKPOSITION = (WM_USER + 18),
			TTM_SETTIPBKCOLOR = (WM_USER + 19),
			TTM_SETTIPTEXTCOLOR = (WM_USER + 20),
			TTM_GETDELAYTIME = (WM_USER + 21),
			TTM_GETTIPBKCOLOR = (WM_USER + 22),
			TTM_GETTIPTEXTCOLOR = (WM_USER + 23),
			TTM_SETMAXTIPWIDTH = (WM_USER + 24),
			TTM_GETMAXTIPWIDTH = (WM_USER + 25),
			TTM_SETMARGIN = (WM_USER + 26),
			TTM_GETMARGIN = (WM_USER + 27),
			TTM_POP = (WM_USER + 28),
			TTM_UPDATE = (WM_USER + 29),
			TTM_GETBUBBLESIZE = (WM_USER + 30),
			TTM_ADJUSTRECT = (WM_USER + 31),
			TTM_SETTITLEA = (WM_USER + 32),
			TTM_SETTITLEW = (WM_USER + 33),
			TTM_POPUP = (WM_USER + 34),
			TTM_GETTITLE = (WM_USER + 35),
			TTM_SETWINDOWTHEME = CCM_SETWINDOWTHEME,
			SB_SETTEXTA = (WM_USER+1),
			SB_SETTEXTW = (WM_USER+11),
			SB_GETTEXTA = (WM_USER+2),
			SB_GETTEXTW = (WM_USER+13),
			SB_GETTEXTLENGTHA = (WM_USER+3),
			SB_GETTEXTLENGTHW = (WM_USER+12),
			SB_SETPARTS = (WM_USER+4),
			SB_GETPARTS = (WM_USER+6),
			SB_GETBORDERS = (WM_USER+7),
			SB_SETMINHEIGHT = (WM_USER+8),
			SB_SIMPLE = (WM_USER+9),
			SB_GETRECT = (WM_USER+10),
			SB_ISSIMPLE = (WM_USER+14),
			SB_SETICON = (WM_USER+15),
			SB_SETTIPTEXTA = (WM_USER+16),
			SB_SETTIPTEXTW = (WM_USER+17),
			SB_GETTIPTEXTA = (WM_USER+18),
			SB_GETTIPTEXTW = (WM_USER+19),
			SB_GETICON = (WM_USER+20),
			SB_SETUNICODEFORMAT = CCM_SETUNICODEFORMAT,
			SB_GETUNICODEFORMAT = CCM_GETUNICODEFORMAT,
			SB_SETBKCOLOR = CCM_SETBKCOLOR,
			SB_SIMPLEID = 0x00ff,
			TBM_GETPOS = (WM_USER),
			TBM_GETRANGEMIN = (WM_USER+1),
			TBM_GETRANGEMAX = (WM_USER+2),
			TBM_GETTIC = (WM_USER+3),
			TBM_SETTIC = (WM_USER+4),
			TBM_SETPOS = (WM_USER+5),
			TBM_SETRANGE = (WM_USER+6),
			TBM_SETRANGEMIN = (WM_USER+7),
			TBM_SETRANGEMAX = (WM_USER+8),
			TBM_CLEARTICS = (WM_USER+9),
			TBM_SETSEL = (WM_USER+10),
			TBM_SETSELSTART = (WM_USER+11),
			TBM_SETSELEND = (WM_USER+12),
			TBM_GETPTICS = (WM_USER+14),
			TBM_GETTICPOS = (WM_USER+15),
			TBM_GETNUMTICS = (WM_USER+16),
			TBM_GETSELSTART = (WM_USER+17),
			TBM_GETSELEND = (WM_USER+18),
			TBM_CLEARSEL = (WM_USER+19),
			TBM_SETTICFREQ = (WM_USER+20),
			TBM_SETPAGESIZE = (WM_USER+21),
			TBM_GETPAGESIZE = (WM_USER+22),
			TBM_SETLINESIZE = (WM_USER+23),
			TBM_GETLINESIZE = (WM_USER+24),
			TBM_GETTHUMBRECT = (WM_USER+25),
			TBM_GETCHANNELRECT = (WM_USER+26),
			TBM_SETTHUMBLENGTH = (WM_USER+27),
			TBM_GETTHUMBLENGTH = (WM_USER+28),
			TBM_SETTOOLTIPS = (WM_USER+29),
			TBM_GETTOOLTIPS = (WM_USER+30),
			TBM_SETTIPSIDE = (WM_USER+31),
			TBM_SETBUDDY = (WM_USER+32), 
			TBM_GETBUDDY = (WM_USER+33), 
			TBM_SETUNICODEFORMAT = CCM_SETUNICODEFORMAT,
			TBM_GETUNICODEFORMAT = CCM_GETUNICODEFORMAT,
			DL_BEGINDRAG = (WM_USER+133),
			DL_DRAGGING = (WM_USER+134),
			DL_DROPPED = (WM_USER+135),
			DL_CANCELDRAG = (WM_USER+136),
			UDM_SETRANGE = (WM_USER+101),
			UDM_GETRANGE = (WM_USER+102),
			UDM_SETPOS = (WM_USER+103),
			UDM_GETPOS = (WM_USER+104),
			UDM_SETBUDDY = (WM_USER+105),
			UDM_GETBUDDY = (WM_USER+106),
			UDM_SETACCEL = (WM_USER+107),
			UDM_GETACCEL = (WM_USER+108),
			UDM_SETBASE = (WM_USER+109),
			UDM_GETBASE = (WM_USER+110),
			UDM_SETRANGE32 = (WM_USER+111),
			UDM_GETRANGE32 = (WM_USER+112),
			UDM_SETUNICODEFORMAT = CCM_SETUNICODEFORMAT,
			UDM_GETUNICODEFORMAT = CCM_GETUNICODEFORMAT,
			UDM_SETPOS32 = (WM_USER+113),
			UDM_GETPOS32 = (WM_USER+114),
			PBM_SETRANGE = (WM_USER+1),
			PBM_SETPOS = (WM_USER+2),
			PBM_DELTAPOS = (WM_USER+3),
			PBM_SETSTEP = (WM_USER+4),
			PBM_STEPIT = (WM_USER+5),
			PBM_SETRANGE32 = (WM_USER+6),
			PBM_GETRANGE = (WM_USER+7), 
			PBM_GETPOS = (WM_USER+8),
			PBM_SETBARCOLOR = (WM_USER+9),
			PBM_SETBKCOLOR = CCM_SETBKCOLOR, 
			HKM_SETHOTKEY = (WM_USER+1),
			HKM_GETHOTKEY = (WM_USER+2),
			HKM_SETRULES = (WM_USER+3),
			LVM_SETUNICODEFORMAT = CCM_SETUNICODEFORMAT,
			LVM_GETUNICODEFORMAT = CCM_GETUNICODEFORMAT,
			LVM_GETBKCOLOR = (LVM_FIRST + 0),
			LVM_SETBKCOLOR = (LVM_FIRST + 1),
			LVM_GETIMAGELIST = (LVM_FIRST + 2),
			LVM_SETIMAGELIST = (LVM_FIRST + 3),
			LVM_GETITEMCOUNT = (LVM_FIRST + 4),
			LVM_GETITEMA = (LVM_FIRST + 5),
			LVM_GETITEMW = (LVM_FIRST + 75),
			LVM_SETITEMA = (LVM_FIRST + 6),
			LVM_SETITEMW = (LVM_FIRST + 76),
			LVM_INSERTITEMA = (LVM_FIRST + 7),
			LVM_INSERTITEMW = (LVM_FIRST + 77),
			LVM_DELETEITEM = (LVM_FIRST + 8),
			LVM_DELETEALLITEMS = (LVM_FIRST + 9),
			LVM_GETCALLBACKMASK = (LVM_FIRST + 10),
			LVM_SETCALLBACKMASK = (LVM_FIRST + 11),
			LVM_FINDITEMA = (LVM_FIRST + 13),
			LVM_FINDITEMW = (LVM_FIRST + 83),
			LVM_GETITEMRECT = (LVM_FIRST + 14),
			LVM_SETITEMPOSITION = (LVM_FIRST + 15),
			LVM_GETITEMPOSITION = (LVM_FIRST + 16),
			LVM_GETSTRINGWIDTHA = (LVM_FIRST + 17),
			LVM_GETSTRINGWIDTHW = (LVM_FIRST + 87),
			LVM_HITTEST = (LVM_FIRST + 18),
			LVM_ENSUREVISIBLE = (LVM_FIRST + 19),
			LVM_SCROLL = (LVM_FIRST + 20),
			LVM_REDRAWITEMS = (LVM_FIRST + 21),
			LVM_ARRANGE = (LVM_FIRST + 22),
			LVM_EDITLABELA = (LVM_FIRST + 23),
			LVM_EDITLABELW = (LVM_FIRST + 118),
			LVM_GETEDITCONTROL = (LVM_FIRST + 24),
			LVM_GETCOLUMNA = (LVM_FIRST + 25),
			LVM_GETCOLUMNW = (LVM_FIRST + 95),
			LVM_SETCOLUMNA = (LVM_FIRST + 26),
			LVM_SETCOLUMNW = (LVM_FIRST + 96),
			LVM_INSERTCOLUMNA = (LVM_FIRST + 27),
			LVM_INSERTCOLUMNW = (LVM_FIRST + 97),
			LVM_DELETECOLUMN = (LVM_FIRST + 28),
			LVM_GETCOLUMNWIDTH = (LVM_FIRST + 29),
			LVM_SETCOLUMNWIDTH = (LVM_FIRST + 30),
			LVM_CREATEDRAGIMAGE = (LVM_FIRST + 33),
			LVM_GETVIEWRECT = (LVM_FIRST + 34),
			LVM_GETTEXTCOLOR = (LVM_FIRST + 35),
			LVM_SETTEXTCOLOR = (LVM_FIRST + 36),
			LVM_GETTEXTBKCOLOR = (LVM_FIRST + 37),
			LVM_SETTEXTBKCOLOR = (LVM_FIRST + 38),
			LVM_GETTOPINDEX = (LVM_FIRST + 39),
			LVM_GETCOUNTPERPAGE = (LVM_FIRST + 40),
			LVM_GETORIGIN = (LVM_FIRST + 41),
			LVM_UPDATE = (LVM_FIRST + 42),
			LVM_SETITEMSTATE = (LVM_FIRST + 43),
			LVM_GETITEMSTATE = (LVM_FIRST + 44),
			LVM_GETITEMTEXTA = (LVM_FIRST + 45),
			LVM_GETITEMTEXTW = (LVM_FIRST + 115),
			LVM_SETITEMTEXTA = (LVM_FIRST + 46),
			LVM_SETITEMTEXTW = (LVM_FIRST + 116),
			LVM_SETITEMCOUNT = (LVM_FIRST + 47),
			LVM_SORTITEMS = (LVM_FIRST + 48),
			LVM_SETITEMPOSITION32 = (LVM_FIRST + 49),
			LVM_GETSELECTEDCOUNT = (LVM_FIRST + 50),
			LVM_GETITEMSPACING = (LVM_FIRST + 51),
			LVM_GETISEARCHSTRINGA = (LVM_FIRST + 52),
			LVM_GETISEARCHSTRINGW = (LVM_FIRST + 117),
			LVM_SETICONSPACING = (LVM_FIRST + 53),
			LVM_SETEXTENDEDLISTVIEWSTYLE = (LVM_FIRST + 54),
			LVM_GETEXTENDEDLISTVIEWSTYLE = (LVM_FIRST + 55),
			LVM_GETSUBITEMRECT = (LVM_FIRST + 56),
			LVM_SUBITEMHITTEST = (LVM_FIRST + 57),
			LVM_SETCOLUMNORDERARRAY = (LVM_FIRST + 58),
			LVM_GETCOLUMNORDERARRAY = (LVM_FIRST + 59),
			LVM_SETHOTITEM = (LVM_FIRST + 60),
			LVM_GETHOTITEM = (LVM_FIRST + 61),
			LVM_SETHOTCURSOR = (LVM_FIRST + 62),
			LVM_GETHOTCURSOR = (LVM_FIRST + 63),
			LVM_APPROXIMATEVIEWRECT = (LVM_FIRST + 64),
			LVM_SETWORKAREAS = (LVM_FIRST + 65),
			LVM_GETWORKAREAS = (LVM_FIRST + 70),
			LVM_GETNUMBEROFWORKAREAS = (LVM_FIRST + 73),
			LVM_GETSELECTIONMARK = (LVM_FIRST + 66),
			LVM_SETSELECTIONMARK = (LVM_FIRST + 67),
			LVM_SETHOVERTIME = (LVM_FIRST + 71),
			LVM_GETHOVERTIME = (LVM_FIRST + 72),
			LVM_SETTOOLTIPS = (LVM_FIRST + 74),
			LVM_GETTOOLTIPS = (LVM_FIRST + 78),
			LVM_SORTITEMSEX = (LVM_FIRST + 81),
			LVM_SETBKIMAGEA = (LVM_FIRST + 68),
			LVM_SETBKIMAGEW = (LVM_FIRST + 138),
			LVM_GETBKIMAGEA = (LVM_FIRST + 69),
			LVM_GETBKIMAGEW = (LVM_FIRST + 139),
			LVM_SETSELECTEDCOLUMN = (LVM_FIRST + 140),
			LVM_SETTILEWIDTH = (LVM_FIRST + 141),
			LVM_SETVIEW = (LVM_FIRST + 142),
			LVM_GETVIEW = (LVM_FIRST + 143),
			LVM_INSERTGROUP = (LVM_FIRST + 145),
			LVM_SETGROUPINFO = (LVM_FIRST + 147),
			LVM_GETGROUPINFO = (LVM_FIRST + 149),
			LVM_REMOVEGROUP = (LVM_FIRST + 150),
			LVM_MOVEGROUP = (LVM_FIRST + 151),
			LVM_MOVEITEMTOGROUP = (LVM_FIRST + 154),
			LVM_SETGROUPMETRICS = (LVM_FIRST + 155),
			LVM_GETGROUPMETRICS = (LVM_FIRST + 156),
			LVM_ENABLEGROUPVIEW = (LVM_FIRST + 157),
			LVM_SORTGROUPS = (LVM_FIRST + 158),
			LVM_INSERTGROUPSORTED = (LVM_FIRST + 159),
			LVM_REMOVEALLGROUPS = (LVM_FIRST + 160),
			LVM_HASGROUP = (LVM_FIRST + 161),
			LVM_SETTILEVIEWINFO = (LVM_FIRST + 162),
			LVM_GETTILEVIEWINFO = (LVM_FIRST + 163),
			LVM_SETTILEINFO = (LVM_FIRST + 164),
			LVM_GETTILEINFO = (LVM_FIRST + 165),
			LVM_SETINSERTMARK = (LVM_FIRST + 166),
			LVM_GETINSERTMARK = (LVM_FIRST + 167),
			LVM_INSERTMARKHITTEST = (LVM_FIRST + 168),
			LVM_GETINSERTMARKRECT = (LVM_FIRST + 169),
			LVM_SETINSERTMARKCOLOR = (LVM_FIRST + 170),
			LVM_GETINSERTMARKCOLOR = (LVM_FIRST + 171),
			LVM_SETINFOTIP = (LVM_FIRST + 173),
			LVM_GETSELECTEDCOLUMN = (LVM_FIRST + 174),
			LVM_ISGROUPVIEWENABLED = (LVM_FIRST + 175),
			LVM_GETOUTLINECOLOR = (LVM_FIRST + 176),
			LVM_SETOUTLINECOLOR = (LVM_FIRST + 177),
			LVM_CANCELEDITLABEL = (LVM_FIRST + 179),
			LVM_MAPINDEXTOID = (LVM_FIRST + 180),
			LVM_MAPIDTOINDEX = (LVM_FIRST + 181),
			TVM_INSERTITEMA = (TV_FIRST + 0),
			TVM_INSERTITEMW = (TV_FIRST + 50),
			TVM_DELETEITEM = (TV_FIRST + 1),
			TVM_EXPAND = (TV_FIRST + 2),
			TVM_GETITEMRECT = (TV_FIRST + 4),
			TVM_GETCOUNT = (TV_FIRST + 5),
			TVM_GETINDENT = (TV_FIRST + 6),
			TVM_SETINDENT = (TV_FIRST + 7),
			TVM_GETIMAGELIST = (TV_FIRST + 8),
			TVM_SETIMAGELIST = (TV_FIRST + 9),
			TVM_GETNEXTITEM = (TV_FIRST + 10),
			TVM_SELECTITEM = (TV_FIRST + 11),
			TVM_GETITEMA = (TV_FIRST + 12),
			TVM_GETITEMW = (TV_FIRST + 62),
			TVM_SETITEMA = (TV_FIRST + 13),
			TVM_SETITEMW = (TV_FIRST + 63),
			TVM_EDITLABELA = (TV_FIRST + 14),
			TVM_EDITLABELW = (TV_FIRST + 65),
			TVM_GETEDITCONTROL = (TV_FIRST + 15),
			TVM_GETVISIBLECOUNT = (TV_FIRST + 16),
			TVM_HITTEST = (TV_FIRST + 17),
			TVM_CREATEDRAGIMAGE = (TV_FIRST + 18),
			TVM_SORTCHILDREN = (TV_FIRST + 19),
			TVM_ENSUREVISIBLE = (TV_FIRST + 20),
			TVM_SORTCHILDRENCB = (TV_FIRST + 21),
			TVM_ENDEDITLABELNOW = (TV_FIRST + 22),
			TVM_GETISEARCHSTRINGA = (TV_FIRST + 23),
			TVM_GETISEARCHSTRINGW = (TV_FIRST + 64),
			TVM_SETTOOLTIPS = (TV_FIRST + 24),
			TVM_GETTOOLTIPS = (TV_FIRST + 25),
			TVM_SETINSERTMARK = (TV_FIRST + 26),
			TVM_SETUNICODEFORMAT = CCM_SETUNICODEFORMAT,
			TVM_GETUNICODEFORMAT = CCM_GETUNICODEFORMAT,
			TVM_SETITEMHEIGHT = (TV_FIRST + 27),
			TVM_GETITEMHEIGHT = (TV_FIRST + 28),
			TVM_SETBKCOLOR = (TV_FIRST + 29),
			TVM_SETTEXTCOLOR = (TV_FIRST + 30),
			TVM_GETBKCOLOR = (TV_FIRST + 31),
			TVM_GETTEXTCOLOR = (TV_FIRST + 32),
			TVM_SETSCROLLTIME = (TV_FIRST + 33),
			TVM_GETSCROLLTIME = (TV_FIRST + 34),
			TVM_SETINSERTMARKCOLOR = (TV_FIRST + 37),
			TVM_GETINSERTMARKCOLOR = (TV_FIRST + 38),
			TVM_GETITEMSTATE = (TV_FIRST + 39),
			TVM_SETLINECOLOR = (TV_FIRST + 40),
			TVM_GETLINECOLOR = (TV_FIRST + 41),
			TVM_MAPACCIDTOHTREEITEM = (TV_FIRST + 42),
			TVM_MAPHTREEITEMTOACCID = (TV_FIRST + 43),
			CBEM_INSERTITEMA = (WM_USER + 1),
			CBEM_SETIMAGELIST = (WM_USER + 2),
			CBEM_GETIMAGELIST = (WM_USER + 3),
			CBEM_GETITEMA = (WM_USER + 4),
			CBEM_SETITEMA = (WM_USER + 5),
			CBEM_DELETEITEM = CB_DELETESTRING,
			CBEM_GETCOMBOCONTROL = (WM_USER + 6),
			CBEM_GETEDITCONTROL = (WM_USER + 7),
			CBEM_SETEXTENDEDSTYLE = (WM_USER + 14),
			CBEM_GETEXTENDEDSTYLE = (WM_USER + 9),
			CBEM_SETUNICODEFORMAT = CCM_SETUNICODEFORMAT,
			CBEM_GETUNICODEFORMAT = CCM_GETUNICODEFORMAT,
			CBEM_SETEXSTYLE = (WM_USER + 8),
			CBEM_GETEXSTYLE = (WM_USER + 9),
			CBEM_HASEDITCHANGED = (WM_USER + 10),
			CBEM_INSERTITEMW = (WM_USER + 11),
			CBEM_SETITEMW = (WM_USER + 12),
			CBEM_GETITEMW = (WM_USER + 13),
			TCM_GETIMAGELIST = (TCM_FIRST + 2),
			TCM_SETIMAGELIST = (TCM_FIRST + 3),
			TCM_GETITEMCOUNT = (TCM_FIRST + 4),
			TCM_GETITEMA = (TCM_FIRST + 5),
			TCM_GETITEMW = (TCM_FIRST + 60),
			TCM_SETITEMA = (TCM_FIRST + 6),
			TCM_SETITEMW = (TCM_FIRST + 61),
			TCM_INSERTITEMA = (TCM_FIRST + 7),
			TCM_INSERTITEMW = (TCM_FIRST + 62),
			TCM_DELETEITEM = (TCM_FIRST + 8),
			TCM_DELETEALLITEMS = (TCM_FIRST + 9),
			TCM_GETITEMRECT = (TCM_FIRST + 10),
			TCM_GETCURSEL = (TCM_FIRST + 11),
			TCM_SETCURSEL = (TCM_FIRST + 12),
			TCM_HITTEST = (TCM_FIRST + 13),
			TCM_SETITEMEXTRA = (TCM_FIRST + 14),
			TCM_ADJUSTRECT = (TCM_FIRST + 40),
			TCM_SETITEMSIZE = (TCM_FIRST + 41),
			TCM_REMOVEIMAGE = (TCM_FIRST + 42),
			TCM_SETPADDING = (TCM_FIRST + 43),
			TCM_GETROWCOUNT = (TCM_FIRST + 44),
			TCM_GETTOOLTIPS = (TCM_FIRST + 45),
			TCM_SETTOOLTIPS = (TCM_FIRST + 46),
			TCM_GETCURFOCUS = (TCM_FIRST + 47),
			TCM_SETCURFOCUS = (TCM_FIRST + 48),
			TCM_SETMINTABWIDTH = (TCM_FIRST + 49),
			TCM_DESELECTALL = (TCM_FIRST + 50),
			TCM_HIGHLIGHTITEM = (TCM_FIRST + 51),
			TCM_SETEXTENDEDSTYLE = (TCM_FIRST + 52),
			TCM_GETEXTENDEDSTYLE = (TCM_FIRST + 53),
			TCM_SETUNICODEFORMAT = CCM_SETUNICODEFORMAT,
			TCM_GETUNICODEFORMAT = CCM_GETUNICODEFORMAT,
			ACM_OPENA = (WM_USER+100),
			ACM_OPENW = (WM_USER+103),
			ACM_PLAY = (WM_USER+101),
			ACM_STOP = (WM_USER+102),
			MCM_FIRST = 0x1000,
			MCM_GETCURSEL = (MCM_FIRST + 1),
			MCM_SETCURSEL = (MCM_FIRST + 2),
			MCM_GETMAXSELCOUNT = (MCM_FIRST + 3),
			MCM_SETMAXSELCOUNT = (MCM_FIRST + 4),
			MCM_GETSELRANGE = (MCM_FIRST + 5),
			MCM_SETSELRANGE = (MCM_FIRST + 6),
			MCM_GETMONTHRANGE = (MCM_FIRST + 7),
			MCM_SETDAYSTATE = (MCM_FIRST + 8),
			MCM_GETMINREQRECT = (MCM_FIRST + 9),
			MCM_SETCOLOR = (MCM_FIRST + 10),
			MCM_GETCOLOR = (MCM_FIRST + 11),
			MCM_SETTODAY = (MCM_FIRST + 12),
			MCM_GETTODAY = (MCM_FIRST + 13),
			MCM_HITTEST = (MCM_FIRST + 14),
			MCM_SETFIRSTDAYOFWEEK = (MCM_FIRST + 15),
			MCM_GETFIRSTDAYOFWEEK = (MCM_FIRST + 16),
			MCM_GETRANGE = (MCM_FIRST + 17),
			MCM_SETRANGE = (MCM_FIRST + 18),
			MCM_GETMONTHDELTA = (MCM_FIRST + 19),
			MCM_SETMONTHDELTA = (MCM_FIRST + 20),
			MCM_GETMAXTODAYWIDTH = (MCM_FIRST + 21),
			MCM_SETUNICODEFORMAT = CCM_SETUNICODEFORMAT,
			MCM_GETUNICODEFORMAT = CCM_GETUNICODEFORMAT,
			DTM_FIRST = 0x1000,
			DTM_GETSYSTEMTIME = (DTM_FIRST + 1),
			DTM_SETSYSTEMTIME = (DTM_FIRST + 2),
			DTM_GETRANGE = (DTM_FIRST + 3),
			DTM_SETRANGE = (DTM_FIRST + 4),
			DTM_SETFORMATA = (DTM_FIRST + 5),
			DTM_SETFORMATW = (DTM_FIRST + 50),
			DTM_SETMCCOLOR = (DTM_FIRST + 6),
			DTM_GETMCCOLOR = (DTM_FIRST + 7),
			DTM_GETMONTHCAL = (DTM_FIRST + 8),
			DTM_SETMCFONT = (DTM_FIRST + 9),
			DTM_GETMCFONT = (DTM_FIRST + 10),
			PGM_SETCHILD = (PGM_FIRST + 1),
			PGM_RECALCSIZE = (PGM_FIRST + 2),
			PGM_FORWARDMOUSE = (PGM_FIRST + 3),
			PGM_SETBKCOLOR = (PGM_FIRST + 4),
			PGM_GETBKCOLOR = (PGM_FIRST + 5),
			PGM_SETBORDER = (PGM_FIRST + 6),
			PGM_GETBORDER = (PGM_FIRST + 7),
			PGM_SETPOS = (PGM_FIRST + 8),
			PGM_GETPOS = (PGM_FIRST + 9),
			PGM_SETBUTTONSIZE = (PGM_FIRST + 10),
			PGM_GETBUTTONSIZE = (PGM_FIRST + 11),
			PGM_GETBUTTONSTATE = (PGM_FIRST + 12),
			PGM_GETDROPTARGET = CCM_GETDROPTARGET,
			BCM_GETIDEALSIZE = (BCM_FIRST + 0x0001),
			BCM_SETIMAGELIST = (BCM_FIRST + 0x0002),
			BCM_GETIMAGELIST = (BCM_FIRST + 0x0003),
			BCM_SETTEXTMARGIN = (BCM_FIRST + 0x0004),
			BCM_GETTEXTMARGIN = (BCM_FIRST + 0x0005),
			EM_SETCUEBANNER	 = (ECM_FIRST + 1),
			EM_GETCUEBANNER	 = (ECM_FIRST + 2),
			EM_SHOWBALLOONTIP = (ECM_FIRST + 3),
			EM_HIDEBALLOONTIP = (ECM_FIRST + 4), 
			CB_SETMINVISIBLE = (CBM_FIRST + 1),
			CB_GETMINVISIBLE = (CBM_FIRST + 2),
			LM_HITTEST = (WM_USER + 0x300), 
			LM_GETIDEALHEIGHT = (WM_USER + 0x301),
			LM_SETITEM = (WM_USER + 0x302), 
			LM_GETITEM = (WM_USER + 0x303)
		}
	}
}

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here


Written By
United States United States
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.

Comments and Discussions