OWLNext    7.0
Borland's Object Windows Library for the modern age
Loading...
Searching...
No Matches
dispatch.h File Reference

Dispatch functions (crackers) to crack a Windows message and pass control to a member function via a pointer (Handler). More...

#include <owl/private/defs.h>
#include <owl/defs.h>
#include <owl/geometry.h>
#include <owl/wsyscls.h>
#include <windowsx.h>
#include <dbt.h>

Go to the source code of this file.

Classes

struct  owl::TDispatch< WM_ACTIVATE >
 
struct  owl::TDispatch< WM_ACTIVATEAPP >
 
struct  owl::TDispatch< WM_ASKCBFORMATNAME >
 
struct  owl::TDispatch< WM_CANCELMODE >
 
struct  owl::TDispatch< WM_CAPTURECHANGED >
 
struct  owl::TDispatch< WM_CHANGECBCHAIN >
 
struct  owl::TDispatch< WM_CHAR >
 
struct  owl::TDispatch< WM_CHARTOITEM >
 
struct  owl::TDispatch< WM_CHILDACTIVATE >
 
struct  owl::TDispatch< WM_CLOSE >
 
struct  owl::TDispatch< WM_COMPACTING >
 
struct  owl::TDispatch< WM_COMPAREITEM >
 
struct  owl::TDispatch< WM_CONTEXTMENU >
 
struct  owl::TDispatch< WM_COPYDATA >
 
struct  owl::TDispatch< WM_CREATE >
 
struct  owl::TDispatch< WM_CTLCOLORBTN >
 
struct  owl::TDispatch< WM_CTLCOLOREDIT >
 
struct  owl::TDispatch< WM_CTLCOLORDLG >
 
struct  owl::TDispatch< WM_CTLCOLORLISTBOX >
 
struct  owl::TDispatch< WM_CTLCOLORSCROLLBAR >
 
struct  owl::TDispatch< WM_CTLCOLORSTATIC >
 
struct  owl::TDispatch< WM_CUT >
 
struct  owl::TDispatch< WM_DEADCHAR >
 
struct  owl::TDispatch< WM_DELETEITEM >
 
struct  owl::TDispatch< WM_DESTROY >
 
struct  owl::TDispatch< WM_DESTROYCLIPBOARD >
 
struct  owl::TDispatch< WM_DEVICECHANGE >
 
struct  owl::TDispatch< WM_DEVMODECHANGE >
 
struct  owl::TDispatch< WM_DISPLAYCHANGE >
 
struct  owl::TDispatch< WM_DRAWCLIPBOARD >
 
struct  owl::TDispatch< WM_DRAWITEM >
 
struct  owl::TDispatch< WM_DROPFILES >
 
struct  owl::TDispatch< WM_ENABLE >
 
struct  owl::TDispatch< WM_ENDSESSION >
 
struct  owl::TDispatch< WM_ENTERIDLE >
 
struct  owl::TDispatch< WM_ENTERMENULOOP >
 
struct  owl::TDispatch< WM_ENTERSIZEMOVE >
 
struct  owl::TDispatch< WM_ERASEBKGND >
 
struct  owl::TDispatch< WM_EXITMENULOOP >
 
struct  owl::TDispatch< WM_EXITSIZEMOVE >
 
struct  owl::TDispatch< WM_FONTCHANGE >
 
struct  owl::TDispatch< WM_GETDLGCODE >
 
struct  owl::TDispatch< WM_GETFONT >
 
struct  owl::TDispatch< WM_GETICON >
 
struct  owl::TDispatch< WM_GETMINMAXINFO >
 
struct  owl::TDispatch< WM_GETTEXT >
 
struct  owl::TDispatch< WM_GETTEXTLENGTH >
 
struct  owl::TDispatch< WM_HELP >
 
struct  owl::TDispatch< WM_HOTKEY >
 
struct  owl::TDispatch< WM_HSCROLL >
 
struct  owl::TDispatch< WM_HSCROLLCLIPBOARD >
 
struct  owl::TDispatch< WM_INITMENU >
 
struct  owl::TDispatch< WM_INITMENUPOPUP >
 
struct  owl::TDispatch< WM_INPUTLANGCHANGE >
 
struct  owl::TDispatch< WM_INPUTLANGCHANGEREQUEST >
 
struct  owl::TDispatch< WM_KEYDOWN >
 
struct  owl::TDispatch< WM_KEYUP >
 
struct  owl::TDispatch< WM_KILLFOCUS >
 
struct  owl::TDispatch< WM_LBUTTONDBLCLK >
 
struct  owl::TDispatch< WM_LBUTTONDOWN >
 
struct  owl::TDispatch< WM_LBUTTONUP >
 
struct  owl::TDispatch< WM_MBUTTONDBLCLK >
 
struct  owl::TDispatch< WM_MBUTTONDOWN >
 
struct  owl::TDispatch< WM_MBUTTONUP >
 
struct  owl::TDispatch< WM_MDIACTIVATE >
 
struct  owl::TDispatch< WM_MDICASCADE >
 
struct  owl::TDispatch< WM_MDICREATE >
 
struct  owl::TDispatch< WM_MDIDESTROY >
 
struct  owl::TDispatch< WM_MEASUREITEM >
 
struct  owl::TDispatch< WM_MENUCHAR >
 
struct  owl::TDispatch< WM_MENUSELECT >
 
struct  owl::TDispatch< WM_MOUSEACTIVATE >
 
struct  owl::TDispatch< WM_MOUSEHOVER >
 
struct  owl::TDispatch< WM_MOUSEHWHEEL >
 
struct  owl::TDispatch< WM_MOUSELEAVE >
 
struct  owl::TDispatch< WM_MOUSEMOVE >
 
struct  owl::TDispatch< WM_MOUSEWHEEL >
 
struct  owl::TDispatch< WM_MOVE >
 
struct  owl::TDispatch< WM_MOVING >
 
struct  owl::TDispatch< WM_NCACTIVATE >
 
struct  owl::TDispatch< WM_NCCALCSIZE >
 
struct  owl::TDispatch< WM_NCCREATE >
 
struct  owl::TDispatch< WM_NCDESTROY >
 
struct  owl::TDispatch< WM_NCHITTEST >
 
struct  owl::TDispatch< WM_NCLBUTTONDBLCLK >
 
struct  owl::TDispatch< WM_NCLBUTTONDOWN >
 
struct  owl::TDispatch< WM_NCLBUTTONUP >
 
struct  owl::TDispatch< WM_NCMBUTTONDBLCLK >
 
struct  owl::TDispatch< WM_NCMBUTTONDOWN >
 
struct  owl::TDispatch< WM_NCMBUTTONUP >
 
struct  owl::TDispatch< WM_NCMOUSEHOVER >
 
struct  owl::TDispatch< WM_NCMOUSELEAVE >
 
struct  owl::TDispatch< WM_NCMOUSEMOVE >
 
struct  owl::TDispatch< WM_NCPAINT >
 
struct  owl::TDispatch< WM_NCRBUTTONDBLCLK >
 
struct  owl::TDispatch< WM_NCRBUTTONDOWN >
 
struct  owl::TDispatch< WM_NCRBUTTONUP >
 
struct  owl::TDispatch< WM_NEXTDLGCTL >
 
struct  owl::TDispatch< WM_NEXTMENU >
 
struct  owl::TDispatch< WM_PAINT >
 
struct  owl::TDispatch< WM_PAINTCLIPBOARD >
 
struct  owl::TDispatch< WM_PALETTECHANGED >
 
struct  owl::TDispatch< WM_PALETTEISCHANGING >
 
struct  owl::TDispatch< WM_PARENTNOTIFY >
 
struct  owl::TDispatch< WM_PARENTNOTIFY >::TArgs
 Base class for the parameter to the WM_PARENTNOTIFY handler. More...
 
struct  owl::TDispatch< WM_PARENTNOTIFY >::TChildInfoArgs
 Parameter package for the WM_PARENTNOTIFY handler. More...
 
struct  owl::TDispatch< WM_PARENTNOTIFY >::TMouseInfoArgs
 Parameter package for the WM_PARENTNOTIFY handler. More...
 
struct  owl::TDispatch< WM_PASTE >
 
struct  owl::TDispatch< WM_POWERBROADCAST >
 
struct  owl::TDispatch< WM_PRINT >
 
struct  owl::TDispatch< WM_PRINTCLIENT >
 
struct  owl::TDispatch< WM_QUERYDRAGICON >
 
struct  owl::TDispatch< WM_QUERYENDSESSION >
 
struct  owl::TDispatch< WM_QUERYNEWPALETTE >
 
struct  owl::TDispatch< WM_QUERYOPEN >
 
struct  owl::TDispatch< WM_QUEUESYNC >
 
struct  owl::TDispatch< WM_RBUTTONDBLCLK >
 
struct  owl::TDispatch< WM_RBUTTONDOWN >
 
struct  owl::TDispatch< WM_RBUTTONUP >
 
struct  owl::TDispatch< WM_RENDERALLFORMATS >
 
struct  owl::TDispatch< WM_RENDERFORMAT >
 
struct  owl::TDispatch< WM_SETCURSOR >
 
struct  owl::TDispatch< WM_SETICON >
 
struct  owl::TDispatch< WM_SETFOCUS >
 
struct  owl::TDispatch< WM_SETFONT >
 
struct  owl::TDispatch< WM_SETREDRAW >
 
struct  owl::TDispatch< WM_SETTEXT >
 
struct  owl::TDispatch< WM_SETTINGCHANGE >
 
struct  owl::TDispatch< WM_SHOWWINDOW >
 
struct  owl::TDispatch< WM_SIZE >
 
struct  owl::TDispatch< WM_SIZECLIPBOARD >
 
struct  owl::TDispatch< WM_SIZING >
 
struct  owl::TDispatch< WM_SPOOLERSTATUS >
 
struct  owl::TDispatch< WM_STYLECHANGED >
 
struct  owl::TDispatch< WM_STYLECHANGING >
 
struct  owl::TDispatch< WM_SYSCHAR >
 
struct  owl::TDispatch< WM_SYSCOLORCHANGE >
 
struct  owl::TDispatch< WM_SYSCOMMAND >
 
struct  owl::TDispatch< WM_SYSDEADCHAR >
 
struct  owl::TDispatch< WM_SYSKEYDOWN >
 
struct  owl::TDispatch< WM_SYSKEYUP >
 
struct  owl::TDispatch< WM_TCARD >
 
struct  owl::TDispatch< WM_THEMECHANGED >
 
struct  owl::TDispatch< WM_TIMECHANGE >
 
struct  owl::TDispatch< WM_TIMER >
 
struct  owl::TDispatch< WM_UNDO >
 
struct  owl::TDispatch< WM_USERCHANGED >
 
struct  owl::TDispatch< WM_VKEYTOITEM >
 
struct  owl::TDispatch< WM_VSCROLL >
 
struct  owl::TDispatch< WM_VSCROLLCLIPBOARD >
 
struct  owl::TDispatch< WM_WINDOWPOSCHANGED >
 
struct  owl::TDispatch< WM_WINDOWPOSCHANGING >
 
struct  owl::TDispatch< DM_GETDEFID >
 
struct  owl::TDispatch< DM_REPOSITION >
 
struct  owl::TDispatch< DM_SETDEFID >
 
struct  owl::TDispatch< WM_CHILDINVALID >
 
struct  owl::TDispatch< WM_COMMAND_ENABLE >
 
struct  owl::TDispatch< WM_OWLCANCLOSE >
 
struct  owl::TDispatch< WM_OWLCREATETTIP >
 
struct  owl::TDispatch< WM_OWLFRAMESIZE >
 
struct  owl::TDispatch< WM_OWLHELPHIT >
 
struct  owl::TDispatch< WM_OWLPREPROCMENU >
 
struct  owl::TDispatch< WM_OWLWAKEUP >
 
struct  owl::TDispatch< WM_OWLWINDOWDOCKED >
 

Namespaces

namespace  owl
 Object Windows Library (OWLNext Core)
 

Macros

#define OWL_NEW_RESPONSE_TABLE   1
 
#define OWL_DISPATCH(dispatch, method)    &owl::AnyDispatch<&dispatch<TMyClass, &TMyClass::method> >
 
#define OWL_EV_SIGNATURE_CHECK   1
 
#define WM_OWLLAST   0x7FFF
 
#define WM_OWLFIRST   (WM_OWLLAST - 0x03FF)
 
#define WM_COMMAND_ENABLE   (WM_OWLLAST - 0)
 
#define WM_CHILDINVALID   (WM_OWLLAST - 1)
 
#define WM_OWLDOCUMENT   (WM_OWLLAST - 2)
 
#define WM_OWLVIEW   (WM_OWLLAST - 3)
 
#define WM_OWLNOTIFY   (WM_OWLLAST - 4)
 
#define WM_OWLPREPROCMENU   (WM_OWLLAST - 5)
 
#define WM_OWLCANCLOSE   (WM_OWLLAST - 6)
 
#define WM_VBXINITFORM   (WM_OWLLAST - 7)
 
#define WM_VBXNAME   (WM_OWLLAST - 8)
 
#define WM_VBXBASE   (WM_OWLLAST - 8 - 256)
 
#define WM_OWLWAKEUP   (WM_VBXBASE - 1)
 
#define WM_OWLFRAMESIZE   (WM_VBXBASE - 2)
 Notify children of frame resizing.
 
#define WM_OWLSLIPDBLCLK   (WM_VBXBASE - 3)
 Notify parent of user dblclick of edge slip.
 
#define WM_OWLWINDOWDOCKED   (WM_VBXBASE - 4)
 Notify window it was [un]docked/reparented.
 
#define WM_OWLCREATETTIP   (WM_VBXBASE - 5)
 Notify gadget window to create tooltips.
 
#define WM_OWLHELPHIT   (WM_VBXBASE - 6)
 Notify Help manager with hit point.
 

Typedefs

typedef void(TGeneric::* owl::TAnyPMF) ()
 
typedef TResult(* owl::TAnyDispatcher) (TGeneric &, TAnyPMF, TParam1, TParam2)
 
typedef TDispatch< WM_PARENTNOTIFY >::TArgs owl::TParentNotify
 Alias for convenience.
 
typedef TDispatch< WM_PARENTNOTIFY >::TChildInfoArgs owl::TParentNotifyChildInfo
 Alias for convenience.
 
typedef TDispatch< WM_PARENTNOTIFY >::TMouseInfoArgs owl::TParentNotifyMouseInfo
 Alias for convenience.
 
Aliases for Windows message parameters
typedef LRESULT owl::TResult
 Result type.
 
typedef UINT owl::TMsgId
 Message ID type.
 
typedef WPARAM owl::TParam1
 First parameter type.
 
typedef LPARAM owl::TParam2
 Second parameter type.
 

Functions

template<TResult(*)(void *, TParam1, TParam2) F>
TResult owl::AnyDispatch (TGeneric &obj, TAnyPMF, TParam1 p1, TParam2 p2)
 
template<class T , TResult(T::*)(TParam1, TParam2) M>
TResult owl::DispatchRawArguments (void *i, TParam1 p1, TParam2 p2)
 
template<class T , void(T::*)() M>
TResult owl::DispatchChildNotify (void *i, TParam1, TParam2)
 
template<class T , void(T::*)(uint) M>
TResult owl::DispatchChildNotifyWithCode (void *i, TParam1 p1, TParam2)
 
template<class T , void(T::*)() M>
TResult owl::DispatchCommand (void *i, TParam1, TParam2)
 
template<class T , void(T::*)(uint) M>
TResult owl::DispatchCommandWithId (void *i, TParam1 p1, TParam2)
 
Parameter factories
template<class T1 , class T2 >
TParam2 owl::MkParam2 (const T1 &lo, const T2 &hi)
 
TParam1 owl::MkParam1 (uint lo, uint hi)
 

Detailed Description

Dispatch functions (crackers) to crack a Windows message and pass control to a member function via a pointer (Handler).

Definition in file dispatch.h.

Macro Definition Documentation

◆ OWL_DISPATCH

#define OWL_DISPATCH ( dispatch,
method )    &owl::AnyDispatch<&dispatch<TMyClass, &TMyClass::method> >

Definition at line 131 of file dispatch.h.

◆ OWL_EV_SIGNATURE_CHECK

#define OWL_EV_SIGNATURE_CHECK   1

Definition at line 139 of file dispatch.h.

◆ OWL_NEW_RESPONSE_TABLE

#define OWL_NEW_RESPONSE_TABLE   1

Definition at line 75 of file dispatch.h.

◆ WM_CHILDINVALID

#define WM_CHILDINVALID   (WM_OWLLAST - 1)

Definition at line 4104 of file dispatch.h.

◆ WM_COMMAND_ENABLE

#define WM_COMMAND_ENABLE   (WM_OWLLAST - 0)

Definition at line 4103 of file dispatch.h.

◆ WM_OWLCANCLOSE

#define WM_OWLCANCLOSE   (WM_OWLLAST - 6)

Definition at line 4109 of file dispatch.h.

◆ WM_OWLCREATETTIP

#define WM_OWLCREATETTIP   (WM_VBXBASE - 5)

Notify gadget window to create tooltips.

Definition at line 4117 of file dispatch.h.

◆ WM_OWLDOCUMENT

#define WM_OWLDOCUMENT   (WM_OWLLAST - 2)

Definition at line 4105 of file dispatch.h.

◆ WM_OWLFIRST

#define WM_OWLFIRST   (WM_OWLLAST - 0x03FF)

Definition at line 4101 of file dispatch.h.

◆ WM_OWLFRAMESIZE

#define WM_OWLFRAMESIZE   (WM_VBXBASE - 2)

Notify children of frame resizing.

Definition at line 4114 of file dispatch.h.

◆ WM_OWLHELPHIT

#define WM_OWLHELPHIT   (WM_VBXBASE - 6)

Notify Help manager with hit point.

Definition at line 4118 of file dispatch.h.

◆ WM_OWLLAST

#define WM_OWLLAST   0x7FFF

Definition at line 4100 of file dispatch.h.

◆ WM_OWLNOTIFY

#define WM_OWLNOTIFY   (WM_OWLLAST - 4)

Definition at line 4107 of file dispatch.h.

◆ WM_OWLPREPROCMENU

#define WM_OWLPREPROCMENU   (WM_OWLLAST - 5)

Definition at line 4108 of file dispatch.h.

◆ WM_OWLSLIPDBLCLK

#define WM_OWLSLIPDBLCLK   (WM_VBXBASE - 3)

Notify parent of user dblclick of edge slip.

Definition at line 4115 of file dispatch.h.

◆ WM_OWLVIEW

#define WM_OWLVIEW   (WM_OWLLAST - 3)

Definition at line 4106 of file dispatch.h.

◆ WM_OWLWAKEUP

#define WM_OWLWAKEUP   (WM_VBXBASE - 1)

Definition at line 4113 of file dispatch.h.

◆ WM_OWLWINDOWDOCKED

#define WM_OWLWINDOWDOCKED   (WM_VBXBASE - 4)

Notify window it was [un]docked/reparented.

Definition at line 4116 of file dispatch.h.

◆ WM_VBXBASE

#define WM_VBXBASE   (WM_OWLLAST - 8 - 256)

Definition at line 4112 of file dispatch.h.

◆ WM_VBXINITFORM

#define WM_VBXINITFORM   (WM_OWLLAST - 7)

Definition at line 4110 of file dispatch.h.

◆ WM_VBXNAME

#define WM_VBXNAME   (WM_OWLLAST - 8)

Definition at line 4111 of file dispatch.h.