OWLNext    7.0
Borland's Object Windows Library for the modern age
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
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.