Click here to Skip to main content
Click here to Skip to main content
Add your own
alternative version

WTL Helper

, 27 Aug 2007
Add-in for Microsoft VC++.NET 2003 that helps to insert message handlers for WTL.
wtlhelper.zip
WTLHelper.exe
wtlhelper_exe.zip
WTLHelper.exe
wtlhelper_src.zip
source
AddIn.def
Dialog
vssver.scc
Options
res
a1.ico
AddIn.rgs
addin8.rgs
closefld.ico
Clsdfold.ico
DDX.bmp
dialog.bmp
functoolbar.bmp
icons.bmp
message.ico
msg.bmp
mysmall4.bmp
openfld.ico
Openfold.ico
option.bmp
vartoolbar.bmp
vssver.scc
wizard.bmp
Wizard.ico
WtlHelper.dll.manifest
resources
Setup.nsi
WtlHelperRes
res
DDX.bmp
dialog.bmp
msg.bmp
option.bmp
reflect.bmp
wizard.bmp
WtlHelperRes.aps
WtlHelperRes8.vcproj.MINSK.solozhentsev.user
<?xml version="1.0"?>
<HandlerManager><MessageTree Name="Messages" Type="2147483648"><Messages><MessageTree Name="Windows" Type="1073741824"><Messages><MessageTree Name="Generic" Type="0"><Messages><WM_COPYDATA DefFuncName="OnCopyData" Type="1"><Body>return TRUE;</Body><Params><SourceWnd Type="HWND">(HWND)wParam</SourceWnd><lpCopyDataStruct Type="PCOPYDATASTRUCT">(PCOPYDATASTRUCT)lParam</lpCopyDataStruct></Params></WM_COPYDATA><WM_QUERYENDSESSION DefFuncName="OnQueryEndSession" Type="1"><Body>return TRUE;</Body><Params><Reserved Type="UINT">(UINT)wParam</Reserved><LogOffOption Type="UINT">(UINT)lParam</LogOffOption></Params></WM_QUERYENDSESSION><WM_QUERYOPEN DefFuncName="OnQueryOpen" Type="1"><Body>return TRUE;</Body></WM_QUERYOPEN><WM_SYSCOLORCHANGE DefFuncName="OnSysColorChange" Type="1"/><WM_ENDSESSION DefFuncName="OnEndSession" Type="1"><Params><fEnding Type="BOOL">(BOOL)wParam</fEnding><LogOffOption Type="UINT">(UINT)lParam</LogOffOption></Params></WM_ENDSESSION><WM_SETTINGCHANGE DefFuncName="OnSettingChange" Type="1"><Params><fChanged Type="UINT">(UINT)wParam</fChanged><lpParamString Type="LPCTSTR">(LPCTSTR)lParam</lpParamString></Params></WM_SETTINGCHANGE><WM_DEVMODECHANGE DefFuncName="OnDevModeChange" Type="1"><Params><lpszDeviceName Type="LPCTSTR">(LPCTSTR)lParam</lpszDeviceName></Params></WM_DEVMODECHANGE><WM_FONTCHANGE DefFuncName="OnFontChange" Type="1"/><WM_TIMECHANGE DefFuncName="OnTimeChange" Type="1"/><WM_CANCELMODE DefFuncName="OnCancelMode" Type="1"/><WM_SPOOLERSTATUS DefFuncName="OnSpoolerStatus" Type="1"><Params><status Type="UINT">(UINT)wParam</status><cJobInQueue Type="UINT">(UINT)LOWORD(lParam)</cJobInQueue></Params></WM_SPOOLERSTATUS><WM_DRAWITEM DefFuncName="OnDrawItem" Type="1"><Body>return TRUE;</Body><Params><ControlID Type="UINT">(UINT)wParam</ControlID><lpDrawItem Type="LPDRAWITEMSTRUCT">(LPDRAWITEMSTRUCT)lParam</lpDrawItem></Params></WM_DRAWITEM><WM_MEASUREITEM DefFuncName="OnMeasureItem" Type="1"><Body>return TRUE;</Body><Params><ControlID Type="UINT">(UINT)wParam</ControlID><lpMeasureItem Type="LPMEASUREITEMSTRUCT">(LPMEASUREITEMSTRUCT)lParam</lpMeasureItem></Params></WM_MEASUREITEM><WM_DELETEITEM DefFuncName="OnDeleteItem" Type="1"><Body>return TRUE;</Body><Params><ControlID Type="UINT">(UINT)wParam</ControlID><lpDeleteItem Type="LPDELETEITEMSTRUCT">(LPDELETEITEMSTRUCT)lParam</lpDeleteItem></Params></WM_DELETEITEM><WM_QUERYDRAGICON DefFuncName="OnQueryDragIcon" Type="1"><Body>return TRUE;</Body></WM_QUERYDRAGICON><WM_COMPAREITEM DefFuncName="OnCompareItem" Type="1"><Params><ControlID Type="UINT">(UINT)wParam</ControlID></Params></WM_COMPAREITEM><WM_COMPACTING DefFuncName="OnCompacting" Type="1"><Params><compactRatio Type="UINT">(UINT)wParam</compactRatio></Params></WM_COMPACTING><WM_SYSCOMMAND DefFuncName="OnSysCommand" Type="1"><Params><cmd Type="UINT">(UINT)wParam</cmd><Pt Type="CPoint">CPoint(GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam))</Pt></Params></WM_SYSCOMMAND><WM_TCARD DefFuncName="OnTCard" Type="1"><Params><idAction Type="UINT">(UINT)wParam</idAction><dwActionData Type="DWORD">(DWORD)lParam</dwActionData></Params></WM_TCARD><WM_TIMER DefFuncName="OnTimer" Type="1"><Params><id Type="UINT">(UINT)wParam</id><lpTimerProc Type="TIMERPROC">(TIMERPROC)lParam</lpTimerProc></Params></WM_TIMER><WM_NOTIFY DefFuncName="OnNotify" Type="1"><Params><idCtrl Type="int">(int)wParam</idCtrl><pnmh Type="LPNMHDR">(LPNMHDR)lParam</pnmh></Params></WM_NOTIFY><WM_ENTERIDLE DefFuncName="OnEnterIdle" Type="1"><Params><source Type="UINT">(UINT)wParam</source><hwndSource Type="HWND">(HWND)lParam</hwndSource></Params></WM_ENTERIDLE><WM_PARENTNOTIFY DefFuncName="OnParentNotify" Type="1"><Params><msg Type="UINT">(UINT)LOWORD(wParam)</msg><idChild Type="UINT">(UINT)HIWORD(wParam)</idChild><lParam Type="LPARAM">lParam</lParam></Params></WM_PARENTNOTIFY><WM_ASKCBFORMATNAME DefFuncName="OnAskCBFormatName" Type="1"><Params><cchMax Type="DWORD">(DWORD)wParam</cchMax><rgchName Type="LPTSTR">(LPTSTR)lParam</rgchName></Params></WM_ASKCBFORMATNAME><WM_CHANGECBCHAIN DefFuncName="OnChangeCBChain" Type="1"><Params><hwndRemove Type="HWND">(HWND)wParam</hwndRemove><hwndNext Type="HWND">(HWND)lParam</hwndNext></Params></WM_CHANGECBCHAIN><WM_QUERYNEWPALETTE DefFuncName="OnQueryNewPalette" Type="1"><Body>return TRUE;</Body></WM_QUERYNEWPALETTE><WM_DROPFILES DefFuncName="OnDropFiles" Type="1"><Params><hdrop Type="HDROP">(HDROP)wParam</hdrop></Params></WM_DROPFILES><WM_STYLECHANGED DefFuncName="OnStyleChanged" Type="1"><Params><TypeOfStyle Type="UINT">(UINT)wParam</TypeOfStyle><lpStyleStruct Type="LPSTYLESTRUCT">(LPSTYLESTRUCT)lParam</lpStyleStruct></Params></WM_STYLECHANGED><WM_STYLECHANGING DefFuncName="OnStyleChanging" Type="1"><Params><TypeOfStyle Type="UINT">(UINT)wParam</TypeOfStyle><lpStyleStruct Type="LPSTYLESTRUCT">(LPSTYLESTRUCT)lParam</lpStyleStruct></Params></WM_STYLECHANGING><WM_CAPTURECHANGED DefFuncName="OnCaptureChanged" Type="1"><Params><NewCaptureOwner Type="HWND">(HWND)lParam</NewCaptureOwner></Params></WM_CAPTURECHANGED><WM_DEVICECHANGE DefFuncName="OnDeviceChange" Type="1"><Body>return TRUE;</Body><Params><uEvent Type="UINT">(UINT)wParam</uEvent><dwEventData Type="DWORD">(DWORD)lParam</dwEventData></Params></WM_DEVICECHANGE><WM_COMMAND DefFuncName="OnCommand" Type="1"><Params><codeNotify Type="UINT">(UINT)HIWORD(wParam)</codeNotify><id Type="int">(int)LOWORD(wParam)</id><hwndCtl Type="HWND">(HWND)lParam</hwndCtl></Params></WM_COMMAND><WM_DISPLAYCHANGE DefFuncName="OnDisplayChange" Type="1"><Params><bitsPerPixel Type="UINT">(UINT)wParam</bitsPerPixel><Size Type="CSize">CSize(GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam))</Size></Params></WM_DISPLAYCHANGE><WM_HELP DefFuncName="OnHelp" Type="1"><Body>return TRUE;</Body><Params><lpHelpInfo Type="LPHELPINFO">(LPHELPINFO)lParam</lpHelpInfo></Params></WM_HELP><WM_INPUTLANGCHANGE DefFuncName="OnInputLagChange" Type="1"><Body>return TRUE;</Body><Params><CharSet Type="DWORD">(DWORD)wParam</CharSet><Locale Type="HKL">(HKL)lParam</Locale></Params></WM_INPUTLANGCHANGE><WM_INPUTLANGCHANGEREQUEST DefFuncName="OnInputLangChangeRequest" Type="1"><Body>return DefWindowProc();</Body><Params><flags Type="BOOL">(BOOL)wParam</flags><Locale Type="HKL">(HKL)lParam</Locale></Params></WM_INPUTLANGCHANGEREQUEST><WM_NEXTDLGCTL DefFuncName="OnNextDlgCtl" Type="1"><Params><fNext Type="BOOL">(BOOL)LOWORD(lParam)</fNext><wParam Type="WPARAM">wParam</wParam></Params></WM_NEXTDLGCTL><WM_NOTIFYFORMAT DefFuncName="OnNotifyFormat" Type="1"><Body>#ifdef _UNICODE
return NFR_UNICODE;
#else
return NFR_ANSI;
#endif</Body><Params><hwndFrom Type="HWND">(HWND)wParam</hwndFrom><Command Type="int">(int)lParam</Command></Params></WM_NOTIFYFORMAT><WM_POWERBROADCAST DefFuncName="OnPowerBroadcast" Type="1"><Body>return TRUE;</Body><Params><Event Type="DWORD">(DWORD)wParam</Event><Data Type="DWORD">(DWORD)lParam</Data></Params></WM_POWERBROADCAST><WM_RASDIALEVENT DefFuncName="OnRASDialEvent" Type="1"><Body>return TRUE;</Body><Params><rasconnstate Type="RASCONNSTATE">(RASCONNSTATE)wParam</rasconnstate><dwError Type="DWORD">(DWORD)lParam</dwError></Params></WM_RASDIALEVENT><WM_USERCHANGED DefFuncName="OnUserChanged" Type="1"/><WM_APPCOMMAND DefFuncName="OnAppCommand" Type="1"><Body>return TRUE; // process message</Body><Params><hwnd Type="HWND">(HWND)wParam</hwnd><cmd Type="UINT">GET_APPCOMMAND_LPARAM(lParam)</cmd><uDevice Type="UINT">GET_DEVICE_LPARAM(lParam)</uDevice><dwKeys Type="DWORD">GET_KEYSTATE_LPARAM(lParam)</dwKeys></Params></WM_APPCOMMAND><WM_FORWARDMSG DefFuncName="OnForwardMsg" Type="1"><Params><lpMsg Type="LPMSG">(LPMSG)lParam</lpMsg><Data Type="DWORD">(DWORD)wParam</Data></Params></WM_FORWARDMSG><DM_GETDEFID DefFuncName="OnGetDefID" Type="1"/><DM_SETDEFID DefFuncName="OnSetDefID" Type="1"><Body>return TRUE;</Body><Params><ControlID Type="UINT">(UINT)wParam</ControlID></Params></DM_SETDEFID><DM_REPOSITION DefFuncName="OnReposition" Type="1"/></Messages></MessageTree><MessageTree Name="Keyboard" Type="0"><Messages><WM_VKEYTOITEM DefFuncName="OnVkeyToItem" Type="1"><Body>return -1;</Body><Params><vk Type="UINT">(UINT)LOWORD(wParam)</vk><iCaret Type="UINT">(UINT)HIWORD(wParam)</iCaret><hwndListbox Type="HWND">(HWND)lParam</hwndListbox></Params></WM_VKEYTOITEM><WM_KEYDOWN DefFuncName="OnKeyDown" Type="1"><Params><vk Type="TCHAR">(TCHAR)wParam</vk><cRepeat Type="UINT">(UINT)lParam &amp; 0xFFFF</cRepeat><flags Type="UINT">(UINT)HIWORD(lParam)</flags></Params></WM_KEYDOWN><WM_KEYUP DefFuncName="OnKeyUp" Type="1"><Params><vk Type="TCHAR">(TCHAR)wParam</vk><cRepeat Type="UINT">(UINT)LOWORD(lParam)</cRepeat><flags Type="UINT">(UINT)HIWORD(lParam)</flags></Params></WM_KEYUP><WM_SYSKEYDOWN DefFuncName="OnSysKey" Type="1"><Params><vk Type="TCHAR">(TCHAR)wParam</vk><cRepeat Type="UINT">(UINT)lParam &amp; 0xFFFF</cRepeat><flags Type="UINT">(UINT)HIWORD(lParam)</flags></Params></WM_SYSKEYDOWN><WM_SYSKEYUP DefFuncName="OnSysKey" Type="1"><Params><vk Type="TCHAR">(TCHAR)wParam</vk><cRepeat Type="UINT">(UINT)lParam &amp; 0xFFFF</cRepeat><flags Type="UINT">(UINT)HIWORD(lParam)</flags></Params></WM_SYSKEYUP><WM_GETHOTKEY DefFuncName="OnGetHotKey" Type="1"><Body>return NULL;</Body></WM_GETHOTKEY><WM_HOTKEY DefFuncName="OnHotKey" Type="1"><Params><HotKeyID Type="int">(int)wParam</HotKeyID><flags Type="UINT">(UINT)LOWORD(lParam)</flags><vk Type="UINT">(UINT)HIWORD(lParam)</vk></Params></WM_HOTKEY><WM_SETHOTKEY DefFuncName="OnSetHotKey" Type="1"><Params><vk Type="int">(int)(LOWORD(wParam))</vk><keyFlags Type="UINT">(UINT)HIWORD(wParam))</keyFlags></Params></WM_SETHOTKEY><WM_CHARTOITEM DefFuncName="OnCharToItem" Type="1"><Body>return -1;</Body><Params><ch Type="UINT">(UINT)LOWORD(wParam)</ch><iCaret Type="UINT">(UINT)HIWORD(wParam)</iCaret><hwndListbox Type="HWND">(HWND)lParam</hwndListbox></Params></WM_CHARTOITEM><WM_CHAR DefFuncName="OnChar" Type="1"><Params><ch Type="TCHAR">(TCHAR)wParam</ch><cRepeat Type="UINT">(UINT)LOWORD(lParam)</cRepeat><flags Type="UINT">(UINT)HIWORD(lParam)</flags></Params></WM_CHAR><WM_DEADCHAR DefFuncName="OnDeadChar" Type="1"><Params><ch Type="TCHAR">(TCHAR)(wParam)</ch><cRepeat Type="UINT">(UINT)LOWORD(lParam)</cRepeat><flags Type="UINT">(UINT)((lParam &amp; 0xFFFF0000) &gt;&gt; 16)</flags></Params></WM_DEADCHAR><WM_SYSCHAR DefFuncName="OnSysChar" Type="1"><Params><ch Type="TCHAR">(TCHAR)wParam</ch><cRepeat Type="UINT">(UINT)lParam &amp; 0xFFFF</cRepeat><flags Type="UINT">(UINT)((lParam &amp; 0xFFFF0000) &gt;&gt; 16)</flags></Params></WM_SYSCHAR><WM_SYSDEADCHAR DefFuncName="OnSysDeadChar" Type="1"><Params><ch Type="TCHAR">(TCHAR)wParam</ch><cRepeat Type="UINT">(UINT)lParam &amp; 0xFFFF</cRepeat><flags Type="UINT">(UINT)lParam &amp; 0xFFFF</flags></Params></WM_SYSDEADCHAR><WM_MENUCHAR DefFuncName="OnMenuChar" Type="1"><Body>return MAKELONG(MNC_IGNORE, 0);</Body><Params><ch Type="TCHAR">(TCHAR)LOWORD(wParam)</ch><flags Type="UINT">(UINT)HIWORD(wParam)</flags><hmenu Type="HMENU">(HMENU)lParam</hmenu></Params></WM_MENUCHAR></Messages></MessageTree><MessageTree Name="Clipboard" Type="0"><Messages><WM_DESTROYCLIPBOARD DefFuncName="OnDestroyClipboard" Type="1"/><WM_DRAWCLIPBOARD DefFuncName="OnDrawClipboard" Type="1"/><WM_PAINTCLIPBOARD DefFuncName="OnPaintClipboard" Type="1"><Params><hwndCBViewer Type="HWND">(HWND)wParam</hwndCBViewer><lpPaintStruct Type="const LPPAINTSTRUCT">(const LPPAINTSTRUCT)::GlobalLock((HGLOBAL)lParam)</lpPaintStruct></Params></WM_PAINTCLIPBOARD><WM_VSCROLLCLIPBOARD DefFuncName="OnVScrollClipboard" Type="1"><Params><hwndCBViewer Type="HWND">(HWND)wParam</hwndCBViewer><code Type="UINT">(UINT)LOWORD(lParam)</code><pos Type="UINT">(UINT)HIWORD(lParam)</pos></Params></WM_VSCROLLCLIPBOARD><WM_SIZECLIPBOARD DefFuncName="OnSizeClipboard" Type="1"><Params><hwndCBViewer Type="HWND">(HWND)wParam</hwndCBViewer><lprc Type="const LPRECT">(const LPRECT)::GlobalLock((HGLOBAL)lParam)</lprc></Params></WM_SIZECLIPBOARD><WM_HSCROLLCLIPBOARD DefFuncName="OnHScrollClipboard" Type="1"><Params><hwndCBViewer Type="HWND">(HWND)wParam</hwndCBViewer><code Type="UINT">(UINT)LOWORD(lParam)</code><pos Type="UINT">(UINT)HIWORD(lParam)</pos></Params></WM_HSCROLLCLIPBOARD><WM_RENDERFORMAT DefFuncName="OnRenderFormat" Type="1"><Params><fmt Type="UINT">(UINT)wParam</fmt></Params></WM_RENDERFORMAT><WM_RENDERALLFORMATS DefFuncName="OnRenderAllFormats" Type="1"/></Messages></MessageTree><MessageTree Name="Control Color" Type="0"><Messages><WM_CTLCOLOREDIT DefFuncName="OnCtlColorEdit" Type="1"><Body>return NULL; // Default brush</Body><Comment>// If an application processes this message, it must return the handle of a brush.
// The system uses the brush to paint the background of the edit control.</Comment><Params><hdc Type="HDC">(HDC)wParam</hdc><hwndChild Type="HWND">(HWND)lParam</hwndChild></Params></WM_CTLCOLOREDIT><WM_CTLCOLORLISTBOX DefFuncName="OnCtlColorListBox" Type="1"><Body>return NULL; // Default brush</Body><Comment>// If an application processes this message, it must return a handle to a brush.
// The system uses the brush to paint the background of the list box.</Comment><Params><hdc Type="HDC">(HDC)wParam</hdc><hwndChild Type="HWND">(HWND)lParam</hwndChild></Params></WM_CTLCOLORLISTBOX><WM_CTLCOLORBTN DefFuncName="OnCtlColorBtn" Type="1"><Body>return NULL; // Default brush</Body><Comment>// If an application processes this message, it must return a handle to a brush. 
// The system uses the brush to paint the background of the button.</Comment><Params><hdc Type="HDC">(HDC)wParam</hdc><hwndChild Type="HWND">(HWND)lParam</hwndChild></Params></WM_CTLCOLORBTN><WM_CTLCOLORDLG DefFuncName="OnCtlColorMsgDlg" Type="1"><Body>return NULL; // Default brush</Body><Comment>// If an application processes this message, it must return a handle to a brush. 
// The system uses the brush to paint the background of the dialog box.</Comment><Params><hdc Type="HDC">(HDC)wParam</hdc><hwndChild Type="HWND">(HWND)lParam</hwndChild></Params></WM_CTLCOLORDLG><WM_CTLCOLORSCROLLBAR DefFuncName="OnCtlColorScrollBar" Type="1"><Body>return NULL; // Default brush</Body><Comment>// If an application processes this message, it must return the handle to a brush.
// The system uses the brush to paint the background of the scroll bar control.</Comment><Params><hdc Type="HDC">(HDC)wParam</hdc><hwndChild Type="HWND">(HWND)lParam</hwndChild></Params></WM_CTLCOLORSCROLLBAR><WM_CTLCOLORSTATIC DefFuncName="OnCtlColorStatic" Type="1"><Body>return NULL; // Default brush</Body><Comment>// If an application processes this message, it must return the handle to a brush.
// The system uses the brush to paint the background of the static control.</Comment><Params><hdc Type="HDC">(HDC)wParam</hdc><hwndChild Type="HWND">(HWND)lParam</hwndChild></Params></WM_CTLCOLORSTATIC></Messages></MessageTree><MessageTree Name="Menu" Type="0"><Messages><WM_INITMENU DefFuncName="OnInitMenu" Type="1"><Params><hMenu Type="HMENU">(HMENU)wParam</hMenu></Params></WM_INITMENU><WM_INITMENUPOPUP DefFuncName="OnInitMenuPopup" Type="1"><Params><hMenu Type="HMENU">(HMENU)wParam</hMenu><item Type="UINT">(UINT)LOWORD(lParam)</item><fSystemMenu Type="BOOL">(BOOL)HIWORD(lParam)</fSystemMenu></Params></WM_INITMENUPOPUP><WM_MENUSELECT DefFuncName="OnMenuSelect" Type="1"><Params><item Type="UINT">(UINT)LOWORD(wParam)</item><flags Type="UINT">(UINT)HIWORD(wParam)</flags><hmenu Type="HMENU">(HMENU)lParam</hmenu></Params></WM_MENUSELECT><WM_CONTEXTMENU DefFuncName="OnContextMenu" Type="1"><Params><hwndContext Type="HWND">(HWND)wParam</hwndContext><Pt Type="CPoint">CPoint(GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam))</Pt></Params></WM_CONTEXTMENU><WM_EXITMENULOOP DefFuncName="OnExitMenuLoop" Type="1"><Params><bShortcut Type="BOOL">(BOOL)wParam</bShortcut></Params></WM_EXITMENULOOP><WM_ENTERMENULOOP DefFuncName="OnEnterMenuLoop" Type="1"><Params><bTrackMenu Type="BOOL">(BOOL)wParam</bTrackMenu></Params></WM_ENTERMENULOOP><WM_NEXTMENU DefFuncName="OnNextMenu" Type="1"><Params><vk Type="int">(int)wParam</vk><lpMdiNexMenu Type="LPMDINEXTMENU">(LPMDINEXTMENU)lParam</lpMdiNexMenu></Params></WM_NEXTMENU><WM_MENUDRAG DefFuncName="OnMenuDrag" Type="1"><Body>return MND_CONTINUE;</Body><Params><Pos Type="WPARAM">wParam</Pos><hmenu Type="HMENU">(HMENU)lParam</hmenu></Params></WM_MENUDRAG><WM_MENUGETOBJECT DefFuncName="OnMenuObject" Type="1"><Body>return MNGO_NOINTERFACE;</Body><Params><lpMenuObjectInfo Type="PMENUGETOBJECTINFO">(PMENUGETOBJECTINFO)lParam</lpMenuObjectInfo></Params></WM_MENUGETOBJECT><WM_UNINITMENUPOPUP DefFuncName="OnUnInitMenuPopup" Type="1"><Params><MenuID Type="UINT">(UINT)HIWORD(lParam)</MenuID><hmenu Type="HMENU">(HMENU)wParam</hmenu></Params></WM_UNINITMENUPOPUP><WM_MENUCOMMAND DefFuncName="OnMenuCommand" Type="1"><Params><wParam Type="WPARAM">wParam</wParam><hmenu Type="HMENU">(HMENU)lParam</hmenu></Params></WM_MENUCOMMAND></Messages></MessageTree><MessageTree Name="Mouse" Type="0"><Messages><WM_LBUTTONDOWN DefFuncName="OnLButtonDown" Type="1"><Params><Flags Type="UINT">(UINT)wParam</Flags><Pt Type="CPoint">CPoint(GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam))</Pt></Params></WM_LBUTTONDOWN><WM_LBUTTONUP DefFuncName="OnLButtonUp" Type="1"><Params><Flags Type="UINT">(UINT)wParam</Flags><Pt Type="CPoint">CPoint(GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam))</Pt></Params></WM_LBUTTONUP><WM_LBUTTONDBLCLK DefFuncName="OnLButtonDblClk" Type="1"><Params><Flags Type="UINT">(UINT)wParam</Flags><Pt Type="CPoint">CPoint(GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam))</Pt></Params></WM_LBUTTONDBLCLK><WM_RBUTTONDOWN DefFuncName="OnRButtonDown" Type="1"><Params><Flags Type="UINT">(UINT)wParam</Flags><Pt Type="CPoint">CPoint(GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam))</Pt></Params></WM_RBUTTONDOWN><WM_RBUTTONUP DefFuncName="OnRButtonUp" Type="1"><Params><Flags Type="UINT">(UINT)wParam</Flags><Pt Type="CPoint">CPoint(GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam))</Pt></Params></WM_RBUTTONUP><WM_RBUTTONDBLCLK DefFuncName="OnRButtonDblClk" Type="1"><Params><Flags Type="UINT">(UINT)wParam</Flags><Pt Type="CPoint">CPoint(GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam))</Pt></Params></WM_RBUTTONDBLCLK><WM_MBUTTONDOWN DefFuncName="OnMButtonDown" Type="1"><Params><Flags Type="UINT">(UINT)wParam</Flags><Pt Type="CPoint">CPoint(GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam))</Pt></Params></WM_MBUTTONDOWN><WM_MBUTTONUP DefFuncName="OnMButtonUp" Type="1"><Params><Flags Type="UINT">(UINT)wParam</Flags><Pt Type="CPoint">CPoint(GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam))</Pt></Params></WM_MBUTTONUP><WM_MBUTTONDBLCLK DefFuncName="OnMButtonDblClk" Type="1"><Params><Flags Type="UINT">(UINT)wParam</Flags><Pt Type="CPoint">CPoint(GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam))</Pt></Params></WM_MBUTTONDBLCLK><WM_MENURBUTTONUP DefFuncName="OnMenuRButtonUp" Type="1"><Params><Pos Type="WPARAM">wParam</Pos><hmenu Type="HMENU">(HMENU)lParam</hmenu></Params></WM_MENURBUTTONUP><WM_XBUTTONDOWN DefFuncName="OnXButtonDown" Type="1"><Body>return TRUE;//process the message</Body><Params><XButton Type="UINT">GET_XBUTTON_WPARAM(wParam)</XButton><KeyState Type="UINT">GET_KEYSTATE_WPARAM(wParam)</KeyState><Pt Type="CPoint">CPoint(GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam))</Pt></Params></WM_XBUTTONDOWN><WM_XBUTTONUP DefFuncName="OnXButtonUp" Type="1"><Body>return TRUE;//process the message</Body><Params><XButton Type="GET_XBUTTON_WPARAM">GET_XBUTTON_WPARAM(wParam)</XButton><KeyState Type="GET_KEYSTATE_WPARAM">GET_KEYSTATE_WPARAM(wParam)</KeyState><Pt Type="CPoint">CPoint(GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam))</Pt></Params></WM_XBUTTONUP><WM_XBUTTONDBLCLK DefFuncName="OnXButtonDblClk" Type="1"><Body>return TRUE;//process the message</Body><Params><XButton Type="GET_XBUTTON_WPARAM">GET_XBUTTON_WPARAM(wParam)</XButton><KeyState Type="GET_KEYSTATE_WPARAM">GET_KEYSTATE_WPARAM(wParam)</KeyState><Pt Type="CPoint">CPoint(GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam))</Pt></Params></WM_XBUTTONDBLCLK><WM_MOUSEMOVE DefFuncName="OnMouseMove" Type="1"><Params><Flags Type="UINT">(UINT)wParam</Flags><Pt Type="CPoint">CPoint(GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam))</Pt></Params></WM_MOUSEMOVE><WM_MOUSEWHEEL DefFuncName="OnMouseWheel" Type="1"><Params><ControlCodes Type="UINT">(UINT)LOWORD(wParam)</ControlCodes><Distance Type="short">(short)HIWORD(wParam)</Distance><Pt Type="CPoint">CPoint(GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam))</Pt></Params></WM_MOUSEWHEEL><WM_MOUSEHOVER DefFuncName="OnMouseOver" Type="1"><Params><Flags Type="WPARAM">wParam</Flags><Pt Type="CPoint">CPoint(GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam))</Pt></Params></WM_MOUSEHOVER><WM_MOUSELEAVE DefFuncName="OnMouseLeave" Type="1"/></Messages></MessageTree><MessageTree Name="NC messages" Type="0"><Messages><WM_NCCREATE DefFuncName="OnNCCreate" Type="1"><Body>return TRUE;// allow create window</Body><Params><lpCreateStruct Type="LPCREATESTRUCT">(LPCREATESTRUCT)lParam</lpCreateStruct></Params></WM_NCCREATE><WM_NCDESTROY DefFuncName="OnNCDestroy" Type="1"/><WM_NCCALCSIZE DefFuncName="OnNCCalcSize" Type="1"><Params><bIndicateValidPart Type="BOOL">(BOOL)wParam</bIndicateValidPart><lParam Type="LPARAM">lParam</lParam></Params></WM_NCCALCSIZE><WM_NCHITTEST DefFuncName="OnNCHitTest" Type="1"><Body>return DefWindowProc();</Body><Params><Pt Type="CPoint">CPoint(GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam))</Pt></Params></WM_NCHITTEST><WM_NCPAINT DefFuncName="OnNCPaint" Type="1"><Params><hrgn Type="HRGN">(HRGN)wParam</hrgn></Params></WM_NCPAINT><WM_NCACTIVATE DefFuncName="OnNCActivate" Type="1"><Body>return FALSE;</Body><Params><fActive Type="BOOL">(BOOL)wParam</fActive></Params></WM_NCACTIVATE><WM_NCMOUSEMOVE DefFuncName="OnNCMouseMove" Type="1"><Params><codeHitTest Type="UINT">(UINT)wParam</codeHitTest><Pt Type="CPoint">CPoint(GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam))</Pt></Params></WM_NCMOUSEMOVE><WM_NCLBUTTONDOWN DefFuncName="OnNCLButtonDown" Type="1"><Params><codeHitTest Type="UINT">(UINT)wParam</codeHitTest><Pt Type="CPoint">CPoint(GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam))</Pt></Params></WM_NCLBUTTONDOWN><WM_NCLBUTTONUP DefFuncName="OnNCLButtonUp" Type="1"><Params><codeHitTest Type="UINT">(UINT)wParam</codeHitTest><Pt Type="CPoint">CPoint(GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam))</Pt></Params></WM_NCLBUTTONUP><WM_NCLBUTTONDBLCLK DefFuncName="OnNCLButtonDblClk" Type="1"><Params><codeHitTest Type="UINT">(UINT)wParam</codeHitTest><Pt Type="CPoint">CPoint(GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam))</Pt></Params></WM_NCLBUTTONDBLCLK><WM_NCRBUTTONDOWN DefFuncName="OnNCRButtonDown" Type="1"><Params><codeHitTest Type="UINT">(UINT)wParam</codeHitTest><Pt Type="CPoint">CPoint(GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam))</Pt></Params></WM_NCRBUTTONDOWN><WM_NCRBUTTONUP DefFuncName="OnNCRButtonUp" Type="1"><Params><codeHitTest Type="UINT">(UINT)wParam</codeHitTest><Pt Type="CPoint">CPoint(GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam))</Pt></Params></WM_NCRBUTTONUP><WM_NCRBUTTONDBLCLK DefFuncName="OnNCRButtonDblClk" Type="1"><Params><codeHitTest Type="UINT">(UINT)(wParam)</codeHitTest><Pt Type="CPoint">CPoint(GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam))</Pt></Params></WM_NCRBUTTONDBLCLK><WM_NCMBUTTONDOWN DefFuncName="OnNCMButtonDown" Type="1"><Params><codeHitTest Type="UINT">(UINT)wParam</codeHitTest><Pt Type="CPoint">CPoint(GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam))</Pt></Params></WM_NCMBUTTONDOWN><WM_NCMBUTTONUP DefFuncName="OnNCMButtonUp" Type="1"><Params><codeHitTest Type="UINT">(UINT)wParam</codeHitTest><Pt Type="CPoint">CPoint(GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam))</Pt></Params></WM_NCMBUTTONUP><WM_NCMBUTTONDBLCLK DefFuncName="OnNCButtonDblClk" Type="1"><Params><codeHitTest Type="UINT">(UINT)wParam</codeHitTest><Pt Type="CPoint">CPoint(GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam))</Pt></Params></WM_NCMBUTTONDBLCLK><WM_NCXBUTTONDOWN DefFuncName="OnNCXButtonDown" Type="1"><Body>return TRUE;//process the message</Body><Params><XButton Type="UINT">GET_XBUTTON_WPARAM(wParam)</XButton><HitTest Type="UINT">GET_NCHITTEST_WPARAM(wParam)</HitTest><Pt Type="CPoint">CPoint(GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam))</Pt></Params></WM_NCXBUTTONDOWN><WM_NCXBUTTONUP DefFuncName="OnNCXButtonUp" Type="1"><Body>return TRUE;//process the message</Body><Params><XButton Type="UINT">GET_XBUTTON_WPARAM(wParam)</XButton><HitTest Type="UINT">GET_NCHITTEST_WPARAM(wParam)</HitTest><Pt Type="CPoint">CPoint(GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam))</Pt></Params></WM_NCXBUTTONUP><WM_NCXBUTTONDBLCLK DefFuncName="OnNCXButtonDblClk" Type="1"><Body>return TRUE;//process the message</Body><Params><XButton Type="UINT">GET_XBUTTON_WPARAM(wParam)</XButton><HitTest Type="UINT">GET_NCHITTEST_WPARAM(wParam)</HitTest><Pt Type="CPoint">CPoint(GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam))</Pt></Params></WM_NCXBUTTONDBLCLK></Messages></MessageTree><MessageTree Name="Scroll" Type="0"><Messages><WM_HSCROLL DefFuncName="OnHScroll" Type="1"><Params><code Type="int">(int)LOWORD(wParam)</code><pos Type="short">(short)HIWORD(wParam)</pos><hwndCtl Type="HWND">(HWND)(lParam)</hwndCtl></Params></WM_HSCROLL><WM_VSCROLL DefFuncName="OnVScroll" Type="1"><Params><code Type="int">(int)LOWORD(wParam)</code><pos Type="short">(short)HIWORD(wParam)</pos><hwndCtl Type="HWND">(HWND)lParam</hwndCtl></Params></WM_VSCROLL></Messages></MessageTree><MessageTree Name="Size and Move" Type="0"><Messages><WM_MOVE DefFuncName="OnMove" Type="1"><Params><Pt Type="CPoint">CPoint(GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam))</Pt></Params></WM_MOVE><WM_MOVING DefFuncName="OnMoving" Type="1"><Body>return TRUE;//process the message</Body><Params><Reserved Type="UINT">(UINT)wParam</Reserved><lpRect Type="LPRECT">(LPRECT)lParam</lpRect></Params></WM_MOVING><WM_ENTERSIZEMOVE DefFuncName="OnEnterSizeMove" Type="1"/><WM_EXITSIZEMOVE DefFuncName="OnExitSizeMove" Type="1"/><WM_SIZE DefFuncName="OnSize" Type="1"><Params><state Type="UINT">(UINT)wParam</state><Size Type="CSize">CSize(GET_X_LPARAM(lParam), GET_Y_LPARAM(lParam))</Size></Params></WM_SIZE><WM_SIZING DefFuncName="OnSizing" Type="1"><Body>return TRUE;//process the message</Body><Params><Edge Type="UINT">(UINT)wParam</Edge><lpRect Type="LPRECT">(LPRECT)lParam</lpRect></Params></WM_SIZING><WM_WINDOWPOSCHANGING DefFuncName="OnWindowPosChanging" Type="1"><Params><lpwpos Type="LPWINDOWPOS">(LPWINDOWPOS)lParam</lpwpos></Params></WM_WINDOWPOSCHANGING><WM_WINDOWPOSCHANGED DefFuncName="OnWindowPosChanged" Type="1"><Params><lpwpos Type="LPWINDOWPOS">(LPWINDOWPOS)lParam</lpwpos></Params></WM_WINDOWPOSCHANGED><WM_GETMINMAXINFO DefFuncName="OnGetMinMaxInfo" Type="1"><Params><lpMinMaxInfo Type="LPMINMAXINFO">(LPMINMAXINFO)lParam</lpMinMaxInfo></Params></WM_GETMINMAXINFO></Messages></MessageTree><MessageTree Name="MDI Messages" Type="0"><Messages><WM_MDICASCADE DefFuncName="OnMDICascade" Type="131073"><Body>return TRUE;</Body></WM_MDICASCADE><WM_MDICREATE DefFuncName="OnMDICreate" Type="131073"><Body>return NULL; // no window created</Body><Params><lpMDICreateStruct Type="LPMDICREATESTRUCT">(LPMDICREATESTRUCT)lParam</lpMDICreateStruct></Params></WM_MDICREATE><WM_MDIDESTROY DefFuncName="OnMDIDestroy" Type="131073"><Params><hChildWnd Type="HWND">(HWND)wParam</hChildWnd></Params></WM_MDIDESTROY><WM_MDIGETACTIVE DefFuncName="OnMDIGetActive" Type="131073"><Body>return NULL;</Body><Params><pbMaximized Type="BOOL*">(BOOL*)lParam</pbMaximized></Params></WM_MDIGETACTIVE><WM_MDIICONARRANGE DefFuncName="OnMDIIconArrage" Type="131073"/><WM_MDIMAXIMIZE DefFuncName="OnMDIMaximize" Type="131073"><Params><hChildWnd Type="HWND">(HWND)wParam</hChildWnd></Params></WM_MDIMAXIMIZE><WM_MDINEXT DefFuncName="OnMDINext" Type="131073"><Params><hChildWnd Type="HWND">(HWND)wParam</hChildWnd></Params></WM_MDINEXT><WM_MDIREFRESHMENU DefFuncName="" Type="131073"/><WM_MDIRESTORE DefFuncName="OnMDIRestore" Type="131073"><Params><hChildWnd Type="HWND">(HWND)wParam</hChildWnd></Params></WM_MDIRESTORE><WM_MDISETMENU DefFuncName="OnMDISetMenu" Type="131073"><Params><hFrameMenu Type="HMENU">(HMENU)wParam</hFrameMenu><hWndMenu Type="HMENU">(HMENU)lParam</hWndMenu></Params></WM_MDISETMENU><WM_MDITILE DefFuncName="OnMDITile" Type="131073"><Body>return TRUE;</Body></WM_MDITILE><WM_MDIACTIVATE DefFuncName="MDIActivate" Type="1"><Params><hwndDeactivate Type="HWND">(HWND)wParam</hwndDeactivate><hwndActivate Type="HWND">(HWND)lParam</hwndActivate></Params></WM_MDIACTIVATE></Messages></MessageTree><MessageTree Name="State and Visibility" Type="0"><Messages><WM_MOUSEACTIVATE DefFuncName="OnMouseActivate" Type="1"><Body>return MA_ACTIVATE;</Body><Params><hwndTopLevel Type="HWND">(HWND)wParam</hwndTopLevel><codeHitTest Type="UINT">(UINT)LOWORD(lParam)</codeHitTest><msg Type="UINT">(UINT)HIWORD(lParam)</msg></Params></WM_MOUSEACTIVATE><WM_ACTIVATE DefFuncName="OnActivate" Type="1"><Params><state Type="UINT">(UINT)LOWORD(wParam)</state><fMinimized Type="BOOL">(BOOL)HIWORD(wParam)</fMinimized><hwndActDeact Type="HWND">(HWND)(lParam)</hwndActDeact></Params></WM_ACTIVATE><WM_ACTIVATEAPP DefFuncName="OnActivateApp" Type="1"><Params><fActivate Type="BOOL">(BOOL)wParam</fActivate><dwThreadId Type="DWORD">(DWORD)lParam</dwThreadId></Params></WM_ACTIVATEAPP><WM_CHILDACTIVATE DefFuncName="OnChildActivate" Type="1"/><WM_KILLFOCUS DefFuncName="OnKillFocus" Type="1"><Params><hwndNewFocus Type="HWND">(HWND)wParam</hwndNewFocus></Params></WM_KILLFOCUS><WM_SETFOCUS DefFuncName="OnSetFocus" Type="1"><Params><hwndOldFocus Type="HWND">(HWND)wParam</hwndOldFocus></Params></WM_SETFOCUS><WM_ENABLE DefFuncName="OnEnable" Type="1"><Params><fEnable Type="BOOL">(BOOL)wParam</fEnable></Params></WM_ENABLE><WM_SHOWWINDOW DefFuncName="OnShowWindow" Type="1"><Params><fShow Type="BOOL">(BOOL)wParam</fShow><status Type="UINT">(UINT)lParam</status></Params></WM_SHOWWINDOW></Messages></MessageTree><MessageTree Name="Window Parameters" Type="0"><Messages><WM_GETDLGCODE DefFuncName="OnGetDlgCode" Type="1"><Params><lpmsg Type="LPMSG">(LPMSG)lParam</lpmsg></Params></WM_GETDLGCODE><WM_GETFONT DefFuncName="OnGetFont" Type="1"><Body>return NULL; // use system font</Body></WM_GETFONT><WM_GETICON DefFuncName="OnGetIcon" Type="1"><Body>return DefWindowProc();</Body><Params><IconType Type="UINT">(UINT)wParam</IconType></Params></WM_GETICON><WM_GETTEXT DefFuncName="OnGetText" Type="1"><Params><cchTextMax Type="int">(int)wParam</cchTextMax><lpszText Type="LPTSTR">(LPTSTR)lParam</lpszText></Params></WM_GETTEXT><WM_GETTEXTLENGTH DefFuncName="OnGetTextLength" Type="1"/><WM_SETCURSOR DefFuncName="OnSetCursor" Type="1"><Body>return TRUE;</Body><Params><hwndCursor Type="HWND">(HWND)wParam</hwndCursor><codeHitTest Type="UINT">(UINT)LOWORD(lParam)</codeHitTest><msg Type="UINT">(UINT)HIWORD(lParam)</msg></Params></WM_SETCURSOR><WM_SETFONT DefFuncName="OnSetFont" Type="1"><Params><hfont Type="HFONT">(HFONT)wParam</hfont><fRedraw Type="BOOL">(BOOL)LOWORD(lParam)</fRedraw></Params></WM_SETFONT><WM_SETICON DefFuncName="OnSetIcon" Type="1"><Body>return DefWindowProc();</Body><Params><IconType Type="UINT">(UINT)wParam</IconType><hIcon Type="HICON">(HICON)lParam</hIcon></Params></WM_SETICON><WM_SETREDRAW DefFuncName="OnSetRedraw" Type="1"><Params><fRedraw Type="BOOL">(BOOL)wParam</fRedraw></Params></WM_SETREDRAW><WM_SETTEXT DefFuncName="OnSetText" Type="1"><Body>return TRUE; // Text is set</Body><Params><lpszText Type="LPCTSTR">(LPCTSTR)lParam</lpszText></Params></WM_SETTEXT></Messages></MessageTree><MessageTree Name="Paint and Print" Type="0"><Messages><WM_ERASEBKGND DefFuncName="OnEraseBkgnd" Type="1"><Body>return TRUE; // background is erased</Body><Params><hdc Type="HDC">(HDC)wParam</hdc></Params></WM_ERASEBKGND><WM_PAINT DefFuncName="OnPaint" Type="1"><Params><hdc Type="HDC">(HDC)wParam</hdc></Params></WM_PAINT><WM_PALETTECHANGED DefFuncName="OnPaletteChanged" Type="1"><Params><hwndPaletteChange Type="HWND">(HWND)wParam</hwndPaletteChange></Params></WM_PALETTECHANGED><WM_PALETTEISCHANGING DefFuncName="OnPaletteIsChanging" Type="1"><Params><hwndPaletteChange Type="HWND">(HWND)wParam</hwndPaletteChange></Params></WM_PALETTEISCHANGING><WM_PRINT DefFuncName="OnPrint" Type="1"><Params><hdc Type="HDC">(HDC)wParam</hdc><Options Type="UINT">(UINT)lParam</Options></Params></WM_PRINT><WM_PRINTCLIENT DefFuncName="OnPrintClient" Type="1"><Params><hdc Type="HDC">(HDC)wParam</hdc><Options Type="UINT">(UINT)lParam</Options></Params></WM_PRINTCLIENT><WM_ICONERASEBKGND DefFuncName="OnIconEraseBkgnd" Type="1"><Body>return TRUE; // icon is erased</Body><Params><hdc Type="HDC">(HDC)wParam</hdc></Params></WM_ICONERASEBKGND></Messages></MessageTree><MessageTree Name="Create and Destroy" Type="0"><Messages><WM_CREATE DefFuncName="OnCreate" Type="1"><Params><lpCreateStruct Type="LPCREATESTRUCT">(LPCREATESTRUCT)lParam</lpCreateStruct></Params></WM_CREATE><WM_DESTROY DefFuncName="OnDestroy" Type="1"><Comment>//You should call SetMsgHandled(FALSE) or set bHandled = FALSE for the main window of your application</Comment></WM_DESTROY><WM_CLOSE DefFuncName="OnClose" Type="1"/><WM_INITDIALOG DefFuncName="OnInitDialog" Type="1"><Body>return TRUE; // set focus to default control</Body><Params><hwndFocus Type="HWND">(HWND)wParam</hwndFocus><lParam Type="LPARAM">lParam</lParam></Params></WM_INITDIALOG></Messages></MessageTree></Messages></MessageTree><MessageTree Name="Command" Type="536870912"><Messages><MessageTree Name="Button" Type="65536"><ResWords><PUSHBUTTON></PUSHBUTTON><DEFPUSHBUTTON></DEFPUSHBUTTON><Button></Button></ResWords><Messages><BN_CLICKED DefFuncName="OnBnClicked" Type="262146"/><BN_DBLCLK DefFuncName="OnBnDblClick" Type="2"/><BN_DISABLE DefFuncName="OnBnDisable" Type="2"/><BN_DOUBLECLICKED DefFuncName="OnBnDoubleClicked" Type="2"/><BN_KILLFOCUS DefFuncName="OnBnKillFocus" Type="2"/><BN_SETFOCUS DefFuncName="OnBnSetFocus" Type="2"/></Messages></MessageTree><MessageTree Name="Edit" Type="65536"><ResWords><EDITTEXT></EDITTEXT></ResWords><Messages><EN_ALIGN_LTR_EC DefFuncName="OnEnAlignLTREC" Type="2"/><EN_ALIGN_RTL_EC DefFuncName="OnEnAlignRTLEC" Type="2"/><EN_ALIGNLTR DefFuncName="OnAlignLTR" Type="2"/><EN_ALIGNRTL DefFuncName="OnAlignRTL" Type="2"/><EN_CHANGE DefFuncName="OnEnChange" Type="262146"/><EN_ERRSPACE DefFuncName="OnEnErrSpace" Type="2"/><EN_HSCROLL DefFuncName="OnEnHScroll" Type="2"/><EN_IMECHANGE DefFuncName="OnEnImeChange" Type="2"/><EN_KILLFOCUS DefFuncName="OnEnKillFocus" Type="2"/><EN_MAXTEXT DefFuncName="OnEnMaxText" Type="2"/><EN_SETFOCUS DefFuncName="OnEnSetFocus" Type="2"/><EN_UPDATE DefFuncName="OnEnUpdate" Type="2"/><EN_VSCROLL DefFuncName="OnEnVscroll" Type="2"/></Messages></MessageTree><MessageTree Name="ListBox" Type="65536"><ResWords><LISTBOX></LISTBOX></ResWords><Messages><LBN_DBLCLK DefFuncName="OnLbnDblClk" Type="2"/><LBN_ERRSPACE DefFuncName="OnLbnErrSpace" Type="2"/><LBN_KILLFOCUS DefFuncName="OnLbnKillFocus" Type="2"/><LBN_SELCANCEL DefFuncName="OnLbnSelCancel" Type="2"/><LBN_SELCHANGE DefFuncName="OnLbnSelChange" Type="262146"/><LBN_SETFOCUS DefFuncName="OnLbnSetFocus" Type="2"/></Messages></MessageTree><MessageTree Name="ComboBox" Type="65536"><ResWords><COMBOBOX></COMBOBOX></ResWords><Messages><CBN_CLOSEUP DefFuncName="OnCbnCloseUp" Type="2"/><CBN_DBLCLK DefFuncName="OnCbnDblClk" Type="2"/><CBN_DROPDOWN DefFuncName="OnCbnDropDown" Type="2"/><CBN_EDITCHANGE DefFuncName="OnCbnEditChange" Type="2"/><CBN_EDITUPDATE DefFuncName="OnCbnEditUpdate" Type="2"/><CBN_ERRSPACE DefFuncName="OnCbnErrSpace" Type="2"/><CBN_KILLFOCUS DefFuncName="OnCbnKillFocus" Type="2"/><CBN_SELCHANGE DefFuncName="OnCbnSelChange" Type="262146"/><CBN_SELENDCANCEL DefFuncName="OnCbnSelEndCancel" Type="2"/><CBN_SELENDOK DefFuncName="OnCbnSelEndOk" Type="2"/><CBN_SETFOCUS DefFuncName="OnCbnSetFocus" Type="2"/></Messages></MessageTree><MessageTree Name="Static" Type="65536"><ResWords><ICON></ICON><LTEXT></LTEXT><CTEXT></CTEXT><RTEXT></RTEXT><Static></Static></ResWords><Messages><STN_CLICKED DefFuncName="OnStnClicked" Type="2"/><STN_DBLCLK DefFuncName="OnStnDblClk" Type="262146"/><STN_DISABLE DefFuncName="OnStnDisable" Type="2"/><STN_ENABLE DefFuncName="OnStnEnable" Type="2"/></Messages></MessageTree></Messages></MessageTree><MessageTree Name="Notify" Type="268435456"><Messages><MessageTree Name="ListView" Type="65536"><ResWords><SysListView32></SysListView32></ResWords><Messages><LVN_BEGINDRAG DefFuncName="OnLvnBeginDrag" Type="3"><Params><iItem Type="int">((LPNMLISTVIEW)pnmh)-&gt;iItem</iItem></Params></LVN_BEGINDRAG><LVN_BEGINLABELEDIT DefFuncName="OnLvnBeginLabelEdit" Type="3"><Body>return FALSE; // Allow user to edit the label</Body><Params><iItem Type="int">((LPNMLISTVIEW)pnmh)-&gt;iItem</iItem></Params></LVN_BEGINLABELEDIT><LVN_BEGINRDRAG DefFuncName="OnLvnBeginRDrag" Type="3"><Params><iItem Type="int">((LPNMLISTVIEW)pnmh)-&gt;iItem</iItem></Params></LVN_BEGINRDRAG><LVN_BEGINSCROLL DefFuncName="OnLvnBeginScroll" Type="3"><Params><pnmLVScroll Type="LPNMLVSCROLL">(LPNMLVSCROLL)pnmh</pnmLVScroll></Params></LVN_BEGINSCROLL><LVN_COLUMNCLICK DefFuncName="OnLvnColumnClick" Type="3"><Comment>//The iItem member of pnmv is -1, and the iSubItem member identifies the column. 
//All other members are zero.</Comment><Params><pnmv Type="LPNMLISTVIEW">(LPNMLISTVIEW)pnmh</pnmv></Params></LVN_COLUMNCLICK><LVN_DELETEALLITEMS DefFuncName="OnLvnDeleteAllItems" Type="3"><Body>return FALSE; // Allow receive subsequent LVN_DELETEITEM notification messages</Body></LVN_DELETEALLITEMS><LVN_DELETEITEM DefFuncName="OnLvnDeleteItem" Type="3"><Params><iItem Type="int">((LPNMLISTVIEW)pnmh)-&gt;iItem</iItem></Params></LVN_DELETEITEM><LVN_ENDLABELEDIT DefFuncName="OnLvnEndLabelEdit" Type="3"><Body>return TRUE; // Set item's label to the edited text</Body><Params><pdi Type="NMLVDISPINFO*">(NMLVDISPINFO*)pnmh</pdi></Params></LVN_ENDLABELEDIT><LVN_ENDSCROLL DefFuncName="OnLvnEndScroll" Type="3"><Params><pnmLVScroll Type="LPNMLVSCROLL">(LPNMLVSCROLL)pnmh</pnmLVScroll></Params></LVN_ENDSCROLL><LVN_GETDISPINFO DefFuncName="OnLvnGetDispInfo" Type="3"><Params><pnmv Type="NMLVDISPINFO*">(NMLVDISPINFO*)pnmh</pnmv></Params></LVN_GETDISPINFO><LVN_GETINFOTIP DefFuncName="OnLvnGetInfoTip" Type="3"><Params><pGetInfoTip Type="LPNMLVGETINFOTIP">(LPNMLVGETINFOTIP)pnmh</pGetInfoTip></Params></LVN_GETINFOTIP><LVN_HOTTRACK DefFuncName="OnLvnHotTrack" Type="3"><Comment>//The iItem, iSubItem, and ptAction members of this structure 
//contain information about the item
//
//Return zero to allow the list view to perform its normal track select processing. 
//If the application returns nonzero, the item will not be selected.</Comment><Params><lpnmlv Type="LPNMLISTVIEW">(LPNMLISTVIEW)pnmh</lpnmlv></Params></LVN_HOTTRACK><LVN_INSERTITEM DefFuncName="OnLvnInsertItem" Type="3"><Params><iItem Type="int">((LPNMLISTVIEW)pnmh)-&gt;iItem</iItem></Params></LVN_INSERTITEM><LVN_ITEMACTIVATE DefFuncName="OnLvnItemActivate" Type="3"><Comment>//#if (_WIN32_IE &gt;= 0x0400)
//   lpnmia = (LPNMITEMACTIVATE)pnmh;
//#else
//    lpnm = (LPNMHDR)pnmh;
//#endif</Comment></LVN_ITEMACTIVATE><LVN_ITEMCHANGED DefFuncName="OnLvnItemChanged" Type="262147"><Comment>//If the iItem member of the structure pointed to by pnmv is -1, 
//the change has been applied to all items in the list view.</Comment><Params><pnmv Type="LPNMLISTVIEW">(LPNMLISTVIEW)pnmh</pnmv></Params></LVN_ITEMCHANGED><LVN_ITEMCHANGING DefFuncName="OnLvnItemChanging" Type="3"><Body>return FALSE; // Allow the change</Body><Params><pnmv Type="LPNMLISTVIEW">(LPNMLISTVIEW)pnmh</pnmv></Params></LVN_ITEMCHANGING><LVN_KEYDOWN DefFuncName="OnLvnKeyDown" Type="3"><Params><pnkd Type="LPNMLVKEYDOWN">(LPNMLVKEYDOWN)pnmh</pnkd></Params></LVN_KEYDOWN><LVN_MARQUEENBEGIN DefFuncName="OnLvnMarqueeBegin" Type="3"><Comment>//To accept the notification message, return zero. 
//To quit the bounding box selection, return nonzero.</Comment></LVN_MARQUEENBEGIN><LVN_ODCACHEHINT DefFuncName="OnODCacheHint" Type="3"><Params><pChachehint Type="NMLVCACHEHINT*">(NMLVCACHEHINT*)pnmh</pChachehint></Params></LVN_ODCACHEHINT><LVN_ODFINDITEM DefFuncName="OnODFindItem" Type="3"><Comment>//Return the index of the item found, or -1 if no item is found</Comment><Params><pFindInfo Type="PNMLVFINDITEM">(PNMLVFINDITEM)pnmh</pFindInfo></Params></LVN_ODFINDITEM><LVN_ODSTATECHANGED DefFuncName="OnLvnODStateChanged" Type="3"><Params><lpStateChange Type="LPNMLVODSTATECHANGE">(LPNMLVODSTATECHANGE)pnmh</lpStateChange></Params></LVN_ODSTATECHANGED><LVN_SETDISPINFO DefFuncName="OnLvnSetDispInfo" Type="3"><Params><pnmv Type="NMLVDISPINFO*">(NMLVDISPINFO*)pnmh</pnmv></Params></LVN_SETDISPINFO></Messages></MessageTree><MessageTree Name="Common Notify" Type="65536"><ResWords><SysListView32></SysListView32><SysTreeView32></SysTreeView32><SysTabControl32></SysTabControl32><msctls_trackbar32></msctls_trackbar32><msctls_updown32></msctls_updown32><SysAnimate32></SysAnimate32><RichEdit20A></RichEdit20A><SysDateTimePick32></SysDateTimePick32><SysMonthCal32></SysMonthCal32><SysIPAddress32></SysIPAddress32><msctls_progress32></msctls_progress32></ResWords><Messages><NM_CHAR DefFuncName="OnNMChar" Type="3"><Params><lpnmc Type="LPNMCHAR">(LPNMCHAR)pnmh</lpnmc></Params></NM_CHAR><NM_CLICK DefFuncName="OnNMCLICK" Type="3"><Comment>//for ListView - (LPNMITEMACTIVATE)pnmh
//for StatusBar	- (LPNMMOUSE)pnmh
//for SysLink - (LPNMLINK)pnmh</Comment></NM_CLICK><NM_CUSTOMDRAW DefFuncName="OnNMCustomDraw" Type="3"><Body>return CDRF_DODEFAULT; // Default handler</Body><Comment>//for ListView - LPNMLVCUSTOMDRAW
//for ToolTip - LPNMTTCUSTOMDRAW
//for TreeView - LPNMTVCUSTOMDRAW
//for Toolbar - LPNMTBCUSTOMDRAW</Comment><Params><lpNMCustomDraw Type="LPNMCUSTOMDRAW">(LPNMCUSTOMDRAW)pnmh</lpNMCustomDraw></Params></NM_CUSTOMDRAW><NM_DBLCLK DefFuncName="OnNMDblClk" Type="3"><Comment>//for ListView - (LPNMITEMACTIVATE)pnmh
//for StatusBar	- (LPNMMOUSE)pnmh</Comment></NM_DBLCLK><NM_HOVER DefFuncName="OnNMHover" Type="3"/><NM_KEYDOWN DefFuncName="OnNMKeyDown" Type="3"><Comment>//Return nonzero to prevent the control from processing the key</Comment><Params><lpnmk Type="LPNMKEY">(LPNMKEY)pnmh</lpnmk></Params></NM_KEYDOWN><NM_KILLFOCUS DefFuncName="OnNMKillFocus" Type="3"/><NM_LDOWN DefFuncName="OnNMLDown" Type="3"/><NM_NCHITTEST DefFuncName="OnNMNCHitTest" Type="3"><Params><lpnmmouse Type="LPNMMOUSE">(LPNMMOUSE)pnmh</lpnmmouse></Params></NM_NCHITTEST><NM_OUTOFMEMORY DefFuncName="OnNMOutOfMemory" Type="3"/><NM_RCLICK DefFuncName="OnNMRClick" Type="3"><Comment>//for ListView - (LPNMITEMACTIVATE)pnmh
//for StatusBar	- (LPNMMOUSE)pnmh
//for ToolBar	- (LPNMMOUSE)pnmh
//Return nonzero to not allow the default processing</Comment></NM_RCLICK><NM_RDBLCLK DefFuncName="OnNMRDblClk" Type="3"><Comment>//for ListView - (LPNMITEMACTIVATE)pnmh
//for StatusBar	- (LPNMMOUSE)pnmh</Comment></NM_RDBLCLK><NM_RELEASEDCAPTURE DefFuncName="OnNMReleaseCapure" Type="3"/><NM_RETURN DefFuncName="OnNMReturn" Type="3"/><NM_SETCURSOR DefFuncName="OnNMSetCursor" Type="3"><Comment>//Return zero to enable the control to set the cursor 
//or nonzero to prevent the control from setting the cursor</Comment><Params><lpnmm Type="LPNMMOUSE">(LPNMMOUSE)pnmh</lpnmm></Params></NM_SETCURSOR><NM_SETFOCUS DefFuncName="OnNMSetFocus" Type="3"/><NM_TOOLTIPSCREATED DefFuncName="OnNMToolTipCreated" Type="3"><Params><lpnmttc Type="NMTOOLTIPSCREATED*">(NMTOOLTIPSCREATED*)pnmh</lpnmttc></Params></NM_TOOLTIPSCREATED></Messages></MessageTree><MessageTree Name="TreeView" Type="65536"><ResWords><SysTreeView32></SysTreeView32></ResWords><Messages><TVN_BEGINDRAG DefFuncName="OnTvnBeginDrag" Type="3"><Comment>//iItemNew of pnmtv contains information about item</Comment><Params><pnmtv Type="LPNMTREEVIEW">(LPNMTREEVIEW)pnmh</pnmtv></Params></TVN_BEGINDRAG><TVN_BEGINLABELEDIT DefFuncName="OnTvnBeginLabelEdit" Type="3"><Body>return FALSE; // Allow label editing</Body><Params><ptvdi Type="LPNMTVDISPINFO">(LPNMTVDISPINFO)pnmh</ptvdi></Params></TVN_BEGINLABELEDIT><TVN_BEGINRDRAG DefFuncName="OnTvnBeginRDrag" Type="3"><Comment>//iItemNew of pnmtv contains information about item</Comment><Params><pnmtv Type="LPNMTREEVIEW">(LPNMTREEVIEW)pnmh</pnmtv></Params></TVN_BEGINRDRAG><TVN_DELETEITEM DefFuncName="OnTvnDeleteItem" Type="3"><Comment>//iItemOld of pnmtv contains information about item</Comment><Params><pnmtv Type="LPNMTREEVIEW">(LPNMTREEVIEW)pnmh</pnmtv></Params></TVN_DELETEITEM><TVN_ENDLABELEDIT DefFuncName="OnTvnEndLabelEdit" Type="3"><Body>return FALSE; // Reject the editing text and revert to the original label</Body><Params><ptvdi Type="LPNMTVDISPINFO">(LPNMTVDISPINFO)pnmh</ptvdi></Params></TVN_ENDLABELEDIT><TVN_GETDISPINFO DefFuncName="OnTvnGetDispInfo" Type="3"><Params><ptvdi Type="LPNMTVDISPINFO">(LPNMTVDISPINFO)pnmh</ptvdi></Params></TVN_GETDISPINFO><TVN_GETINFOTIP DefFuncName="OnTvnGetInfoTip" Type="3"><Params><lpGetInfoTip Type="LPNMTVGETINFOTIP">(LPNMTVGETINFOTIP)pnmh</lpGetInfoTip></Params></TVN_GETINFOTIP><TVN_ITEMEXPANDED DefFuncName="OnTvnItemExpanded" Type="262147"><Comment>//iItemNew of pnmtv contains information about item</Comment><Params><pnmtv Type="LPNMTREEVIEW">(LPNMTREEVIEW)pnmh</pnmtv></Params></TVN_ITEMEXPANDED><TVN_ITEMEXPANDING DefFuncName="OnTvnItemExpanding" Type="3"><Body>return FALSE: // Allow the list to expand or collapse</Body><Comment>//iItemNew member of pnmtv conatains information about parent item</Comment><Params><pnmtv Type="LPNMTREEVIEW">(LPNMTREEVIEW)pnmh</pnmtv></Params></TVN_ITEMEXPANDING><TVN_KEYDOWN DefFuncName="OnTvnKeyDown" Type="3"><Body>return 0; // Include character in the search</Body><Params><ptvkd Type="LPNMTVKEYDOWN">(LPNMTVKEYDOWN)pnmh</ptvkd></Params></TVN_KEYDOWN><TVN_SELCHANGED DefFuncName="OnTvnSelChanged" Type="3"><Params><pnmtv Type="LPNMTREEVIEW">(LPNMTREEVIEW)pnmh</pnmtv></Params></TVN_SELCHANGED><TVN_SELCHANGING DefFuncName="OnTvnSelChanging" Type="3"><Body>return FALSE; // Allow the selection to change</Body><Params><pnmtv Type="LPNMTREEVIEW">(LPNMTREEVIEW)pnmh</pnmtv></Params></TVN_SELCHANGING><TVN_SETDISPINFO DefFuncName="OnTvnSetDispInfo" Type="3"><Params><ptvdi Type="LPNMTVDISPINFO">(LPNMTVDISPINFO)pnmh</ptvdi></Params></TVN_SETDISPINFO><TVN_SINGLEEXPAND DefFuncName="OnTvnSingleExpand" Type="3"><Body>return TVNRET_DEFAULT;</Body><Comment>//TVNRET_DEFAULT - default behavior to occur
//TVNRET_SKIPOLD - Skip default processing of the item being unselected. 
//TVNRET_SKIPNEW - Skip default processing of the item being selected.
//TVNRET_SKIPOLD | TVNRET_SKIPNEW - skip default processing of selected and unselected items</Comment><Params><pnmtv Type="LPNMTREEVIEW">(LPNMTREEVIEW)pnmh</pnmtv></Params></TVN_SINGLEEXPAND></Messages></MessageTree><MessageTree Name="RichEdit" Type="65536"><ResWords><RichEdit20A></RichEdit20A></ResWords><Messages><EN_CORRECTTEXT DefFuncName="OnEnCorrectText" Type="3"><Body>return 0; // Ignore the action</Body><Comment>//To receive EN_CORRECTTEXT notifications, 
//specify ENM_CORRECTTEXT in the mask sent with the EM_SETEVENTMASK message.</Comment><Params><lpCorrectText Type="ENCORRECTTEXT*">(ENCORRECTTEXT*)pnmh</lpCorrectText></Params></EN_CORRECTTEXT><EN_DRAGDROPDONE DefFuncName="OnEnDragDropDone" Type="3"><Comment>//To receive an EN_DRAGDROPDONE notification, specify the ENM_DRAGDROPDONE flag
//in the mask sent with the EM_SETEVENTMASK message.</Comment></EN_DRAGDROPDONE><EN_DROPFILES DefFuncName="OnEnDropFiles" Type="3"><Body>return 1; // Allow drop</Body><Comment>//To receive EN_DROPFILES notifications, specify ENM_DROPFILES 
//in the mask sent with the EM_SETEVENTMASK message.</Comment><Params><lpEndDropFiles Type="ENDROPFILES*">(ENDROPFILES*)pnmh</lpEndDropFiles></Params></EN_DROPFILES><EN_LINK DefFuncName="OnEnLink" Type="3"><Comment>//To receive EN_LINK notifications, specify the ENM_LINK flag 
//in the mask sent with the EM_SETEVENTMASK message.</Comment><Params><lpLink Type="ENLINK*">(ENLINK*)pnmh</lpLink></Params></EN_LINK><EN_LOWFIRTF DefFuncName="OnEnLowFIRTF" Type="3"><Comment>//To receive an EN_LOWFIRTF notification, specify the ENM_LOWFIRTF flag 
//in the mask sent with the EM_SETEVENTMASK message.</Comment><Params><lpLowFIRTF Type="ENLOWFIRTF*">(ENLOWFIRTF*)pnmh</lpLowFIRTF></Params></EN_LOWFIRTF><EN_MSGFILTER DefFuncName="OnEnMsgFilter" Type="3"><Comment>//To receive EN_MSGFILTER notifications for events, specify one or more of the following flags 
//in the mask sent with the EM_SETEVENTMASK message.</Comment><Params><lpMsgFilter Type="MSGFILTER*">(MSGFILTER*)pnmh</lpMsgFilter></Params></EN_MSGFILTER><EN_OBJECTPOSITIONS DefFuncName="OnEnObjectPositions" Type="3"><Comment>//To receive an EN_OBJECTPOSITIONS notification, specify the ENM_OBJECTPOSITIONS flag 
//in the mask sent with the EM_SETEVENTMASK message.</Comment><Params><lpObjectPositions Type="OBJECTPOSITIONS*">(OBJECTPOSITIONS*)pnmh</lpObjectPositions></Params></EN_OBJECTPOSITIONS><EN_OLEOPFAILED DefFuncName="OnEnOleOpFailed" Type="3"><Params><lpOleFailed Type="ENOLEOPFAILED*">(ENOLEOPFAILED*)pnmh</lpOleFailed></Params></EN_OLEOPFAILED><EN_PROTECTED DefFuncName="OnEnProtected" Type="3"><Comment>//To receive EN_PROTECTED notifications, specify ENM_PROTECTED 
//in the mask sent with the EM_SETEVENTMASK message.</Comment><Params><lpProtected Type="ENPROTECTED*">(ENPROTECTED*)pnmh</lpProtected></Params></EN_PROTECTED><EN_REQUESTRESIZE DefFuncName="OnEnRequestResize" Type="3"><Comment>//To receive EN_REQUESTRESIZE notifications, specify ENM_REQUESTRESIZE 
//in the mask sent with the EM_SETEVENTMASK message.</Comment><Params><lpReqResize Type="REQRESIZE*">(REQRESIZE*)pnmh</lpReqResize></Params></EN_REQUESTRESIZE><EN_SAVECLIPBOARD DefFuncName="OnEnSaveClipboard" Type="3"><Comment>//To receive EN_SELCHANGE notifications, specify ENM_SELCHANGE 
//in the mask sent with the EM_SETEVENTMASK message.</Comment><Params><lpSaveClipboard Type="ENSAVECLIPBOARD*">(ENSAVECLIPBOARD*)pnmh</lpSaveClipboard></Params></EN_SAVECLIPBOARD><EN_SELCHANGE DefFuncName="OnEnSelChange" Type="262147"><Comment>//To receive EN_SELCHANGE notifications, specify ENM_SELCHANGE 
//in the mask sent with the EM_SETEVENTMASK message.</Comment><Params><lpSelChange Type="SELCHANGE*">(SELCHANGE*)pnmh</lpSelChange></Params></EN_SELCHANGE><EN_STOPNOUNDO DefFuncName="OnEnStopNoUndo" Type="3"><Body>return 0; // Continue undo operation</Body></EN_STOPNOUNDO></Messages></MessageTree><MessageTree Name="TabCtrl" Type="65536"><ResWords><SysTabControl32></SysTabControl32></ResWords><Messages><TCN_FOCUSCHANGE DefFuncName="OnTcnFocusChange" Type="3"/><TCN_GETOBJECT DefFuncName="OnTcnGetObject" Type="3"><Params><lpnmon Type="LPNMOBJECTNOTIFY">(LPNMOBJECTNOTIFY)pnmh</lpnmon></Params></TCN_GETOBJECT><TCN_KEYDOWN DefFuncName="OnTcnKeyDown" Type="3"><Params><pnm Type="NMTCKEYDOWN*">(NMTCKEYDOWN*)pnmh</pnm></Params></TCN_KEYDOWN><TCN_SELCHANGE DefFuncName="OnTcnSelChange" Type="262147"/><TCN_SELCHANGING DefFuncName="OnTcnSelChanging" Type="3"><Body>return FALSE; // Aloow the selection to change</Body></TCN_SELCHANGING></Messages></MessageTree><MessageTree Name="Toolbar" Type="0"><Messages><TBN_BEGINADJUST DefFuncName="OnTbnBeginAdjust" Type="3"/><TBN_BEGINDRAG DefFuncName="OnTbnBeginDrag" Type="3"><Comment>//The iItem member of lpnmtb contains the command identifier of the button being dragged.</Comment><Params><lpnmtb Type="LPNMTOOLBAR">(LPNMTOOLBAR)pnmh</lpnmtb></Params></TBN_BEGINDRAG><TBN_CUSTHELP DefFuncName="OnTbnCustHelp" Type="3"/><TBN_DELETINGBUTTON DefFuncName="OnTbnDeletingButton" Type="3"><Comment>//only the hdr and iItem members of lpnmtb are valid</Comment><Params><lpnmtb Type="LPNMTOOLBAR">(LPNMTOOLBAR)pnmh</lpnmtb></Params></TBN_DELETINGBUTTON><TBN_DRAGOUT DefFuncName="OnTbnDragOut" Type="3"><Comment>//only the hdr and iItem members of lpnmtb are valid</Comment><Params><lpnmtb Type="LPNMTOOLBAR">(LPNMTOOLBAR)pnmh</lpnmtb></Params></TBN_DRAGOUT><TBN_DROPDOWN DefFuncName="OnTbnDropDown" Type="3"><Body>return TBDDRET_DEFAULT;</Body><Comment>//only the hdr and iItem members of lpnmtb are valid
//return
//TBDDRET_DEFAULT The drop-down was handled. 
//TBDDRET_NODEFAULT The drop-down was not handled. 
//TBDDRET_TREATPRESSED The drop-down was handled, but treat the button like a regular button</Comment><Params><lpnmtb Type="LPNMTOOLBAR">(LPNMTOOLBAR)pnmh</lpnmtb></Params></TBN_DROPDOWN><TBN_ENDADJUST DefFuncName="OnTbnEndAdjust" Type="3"/><TBN_ENDDRAG DefFuncName="OnTbnEndDrag" Type="3"><Comment>//The iItem member of lpnmtb contains the command identifier of the button being dragged.</Comment><Params><lpnmtb Type="LPNMTOOLBAR">(LPNMTOOLBAR)pnmh</lpnmtb></Params></TBN_ENDDRAG><TBN_GETBUTTONINFO DefFuncName="OnTbnGetButtonInfo" Type="3"><Body>return FALSE; // Button information was not copied</Body><Params><lpnmtb Type="LPNMTOOLBAR">(LPNMTOOLBAR)pnmh</lpnmtb></Params></TBN_GETBUTTONINFO><TBN_GETDISPINFO DefFuncName="OnTbnGetDispInfo" Type="262147"><Params><lptbdi Type="LPNMTBDISPINFO">(LPNMTBDISPINFO)pnmh</lptbdi></Params></TBN_GETDISPINFO><TBN_GETINFOTIP DefFuncName="OnTbnGetInfoTip" Type="3"><Params><lptbdi Type="LPNMTBDISPINFO">(LPNMTBDISPINFO)pnmh</lptbdi></Params></TBN_GETINFOTIP><TBN_GETOBJECT DefFuncName="OnTbnGetObject" Type="3"><Params><lpnmon Type="LPNMOBJECTNOTIFY">(LPNMOBJECTNOTIFY)</lpnmon></Params></TBN_GETOBJECT><TBN_HOTITEMCHANGE DefFuncName="OnTbnHotItemChange" Type="3"><Body>return 0; // Allow the item to be highlighted</Body><Params><lpnmhi Type="LPNMTBHOTITEM">(LPNMTBHOTITEM)pnmh</lpnmhi></Params></TBN_HOTITEMCHANGE><TBN_INITCUSTOMIZE DefFuncName="OnTbnInitCustomize" Type="3"><Comment>//Returns TBNRF_HIDEHELP to suppress the Help button.</Comment></TBN_INITCUSTOMIZE><TBN_QUERYDELETE DefFuncName="OnTbnQueryDelete" Type="3"><Body>return TRUE; // Allow the button to be deleted</Body><Comment>//The iItem member of lpnmtb contains the zero-based index of the button to be deleted.</Comment><Params><lpnmtb Type="LPNMTOOLBAR">(LPNMTOOLBAR)pnmh</lpnmtb></Params></TBN_QUERYDELETE><TBN_QUERYINSERT DefFuncName="OnTbnQueryInsert" Type="3"><Body>return TRUE; // Allow the button to be inserted</Body><Comment>//The iItem member of lpnmtb contains the zero-based index of the button to be inserted.</Comment><Params><lpnmtb Type="LPNMTOOLBAR">(LPNMTOOLBAR)pnmh</lpnmtb></Params></TBN_QUERYINSERT><TBN_RESET DefFuncName="OnTbnReset" Type="3"/><TBN_RESTORE DefFuncName="OnTbnRestore" Type="3"><Comment>//The application should return zero in response to the first TBN_RESTORE notification 
//received at the start of the restore process to continue restoring the button information. 
//If the application returns a non-zero value, the restore process is cancelled.</Comment><Params><lpnmtb Type="LPNMTBRESTORE">(LPNMTBRESTORE)pnmh</lpnmtb></Params></TBN_RESTORE><TBN_SAVE DefFuncName="OnTbnSave" Type="3"><Params><lpnmtb Type="LPNMTBSAVE">(LPNMTBSAVE)pnmh</lpnmtb></Params></TBN_SAVE><TBN_TOOLBARCHANGE DefFuncName="OnTbnToolbarChange" Type="3"/></Messages></MessageTree><MessageTree Name="ToolTip" Type="0"><Messages><TTN_GETDISPINFO DefFuncName="OnTtnGetDispInfo" Type="262147"><Params><lpnmtdi Type="LPNMTTDISPINFO">(LPNMTTDISPINFO)pnmh</lpnmtdi></Params></TTN_GETDISPINFO><TTN_LINKCLICK DefFuncName="OnTtnLinkClick" Type="3"/><TTN_NEEDTEXT DefFuncName="OnTtnNeedText" Type="3"><Params><lpnmtdi Type="LPNMTTDISPINFO">(LPNMTTDISPINFO)pnmh</lpnmtdi></Params></TTN_NEEDTEXT><TTN_POP DefFuncName="OnTtnPop" Type="3"/><TTN_SHOW DefFuncName="OnTtnShow" Type="3"/></Messages></MessageTree></Messages></MessageTree></Messages></MessageTree><SynonymMap><WPARAM><String>DWORD</String><String>UINT</String></WPARAM><int><String>UINT</String><String>DWORD</String></int><UINT><String>unsigned int</String><String>int</String><String>DWORD</String></UINT><WORD><String>short</String><String>unsigned short</String><String>int</String></WORD><LPARAM><String>DWORD</String><String>UINT</String><String>long</String></LPARAM></SynonymMap></HandlerManager>

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

Share

About the Author

Sergey Solozhentsev
Web Developer
Belarus Belarus
I am a software developer for 3 years.

| Advertise | Privacy | Terms of Use | Mobile
Web04 | 2.8.150326.1 | Last Updated 27 Aug 2007
Article Copyright 2004 by Sergey Solozhentsev
Everything else Copyright © CodeProject, 1999-2015
Layout: fixed | fluid