Leaked source code of windows server 2003
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
/**********************************************************************/ /** Microsoft Windows/NT **/ /** Copyright(c) Microsoft Corp., 1991 **/ /**********************************************************************/
/*
bltdisph.hxx Header file for DISPATCHER class.
FILE HISTORY: terryk 20-Jun-91 move the source code from bltclwin.hxx terryk 01-Aug-91 change Dispatcher return type to ULONG beng 28-May-1992 Major shuffling between bltcc and bltdisph */
#ifndef _BLTDISPH_HXX_
#define _BLTDISPH_HXX_
#include "bltevent.hxx"
DLL_CLASS ASSOCHWNDDISP; // forward decl's
DLL_CLASS DISPATCHER;
/*************************************************************************
NAME: ASSOCHWNDDISP
SYNOPSIS: Associate a dispatcher with a window
INTERFACE: HwndToPdispatch()
PARENT: ASSOCHWNDTHIS
HISTORY: beng 30-Sep-1991 Created
**************************************************************************/
DLL_CLASS ASSOCHWNDDISP: private ASSOCHWNDTHIS { NEWBASE(ASSOCHWNDTHIS) public: ASSOCHWNDDISP( HWND hwnd, const DISPATCHER * pdsp ) : ASSOCHWNDTHIS( hwnd, pdsp ) { }
static DISPATCHER * HwndToPdispatch( HWND hwnd ) { return (DISPATCHER *)HwndToThis(hwnd); } };
/**********************************************************************
NAME: DISPATCHER
SYNOPSIS: General window-message dispatcher class
INTERFACE: DISPATCHER() - constructor ~DISPATCHER() - destructor
CaptureMouse() - capture the mouse ReleaseMouse() - release the mouse DoChar() - force an OnChar function DoUserMessage() - force an OnUserMessage function
USES:
HISTORY: beng 01-Mar-91 Create client-window class terryk 20-Jun-91 move the source code from bltclwin.hxx terryk 01-Aug-91 change Dispatcher return type to ULONG beng 30-Sep-1991 Win32 conversion beng 05-Dec-1991 Implemented scroll-bar callbacks beng 13-Feb-1992 Removed Repaint member (parallel to clwin) beng 18-May-1992 Disabled scroll-bar callbacks beng 19-May-1992 OnNCHitTest superseded by CUSTOM_CONTROL:: OnQHitTest beng 28-May-1992 Major reshuffle of bltcc and bltdisph
**********************************************************************/
DLL_CLASS DISPATCHER { private: WINDOW * _pwnd;
// This object lets the window find its pwnd when it is entered
// from Win (which doesn't set up This pointers, etc.)
//
ASSOCHWNDDISP _assocThis;
protected: // constructor and destructor
DISPATCHER( WINDOW * pwnd ); ~DISPATCHER();
// OnXXX Message
virtual BOOL OnPaintReq(); virtual BOOL OnActivation( const ACTIVATION_EVENT & ); virtual BOOL OnDeactivation( const ACTIVATION_EVENT & ); virtual BOOL OnFocus( const FOCUS_EVENT & ); virtual BOOL OnDefocus( const FOCUS_EVENT & ); virtual BOOL OnResize( const SIZE_EVENT & ); virtual BOOL OnMove( const MOVE_EVENT & ); virtual BOOL OnCloseReq(); virtual BOOL OnDestroy(); virtual BOOL OnKeyDown( const VKEY_EVENT & ); virtual BOOL OnKeyUp( const VKEY_EVENT & ); virtual BOOL OnChar( const CHAR_EVENT & );
virtual BOOL OnMouseMove( const MOUSE_EVENT & ); virtual BOOL OnLMouseButtonDown( const MOUSE_EVENT & ); virtual BOOL OnLMouseButtonUp( const MOUSE_EVENT & ); virtual BOOL OnLMouseButtonDblClick( const MOUSE_EVENT & );
virtual BOOL OnQMouseCursor( const QMOUSEACT_EVENT & event );
virtual ULONG OnQDlgCode(); virtual ULONG OnQHitTest( const XYPOINT & xy ); virtual ULONG OnQMouseActivate( const QMOUSEACT_EVENT & event );
#if 0 // following member fcns elided to reduce vtable congestion
virtual BOOL OnMMouseButtonDown( const MOUSE_EVENT & ); virtual BOOL OnMMouseButtonUp( const MOUSE_EVENT & ); virtual BOOL OnMMouseButtonDblClick( const MOUSE_EVENT & ); virtual BOOL OnRMouseButtonDown( const MOUSE_EVENT & ); virtual BOOL OnRMouseButtonUp( const MOUSE_EVENT & ); virtual BOOL OnRMouseButtonDblClick( const MOUSE_EVENT & ); #endif
virtual BOOL OnTimer( const TIMER_EVENT & ); virtual BOOL OnCommand( const CONTROL_EVENT & );
#if 0 // Never really implemented (gedankenmembers?)
virtual BOOL OnClick( const CONTROL_EVENT & ); virtual BOOL OnDblClick( const CONTROL_EVENT & ); virtual BOOL OnChange( const CONTROL_EVENT & ); virtual BOOL OnSelect( const CONTROL_EVENT & ); virtual BOOL OnEnter( const CONTROL_EVENT & ); virtual BOOL OnDropDown( const CONTROL_EVENT & ); #endif
#if 0 // more elided members
virtual BOOL OnScrollBar( const SCROLL_EVENT & ); virtual BOOL OnScrollBarThumb( const SCROLL_THUMB_EVENT & ); #endif
virtual BOOL OnUserMessage( const EVENT & );
static DISPATCHER * HwndToPwnd( HWND hwnd ) { return ASSOCHWNDDISP::HwndToPdispatch(hwnd); }
virtual BOOL Dispatch( const EVENT & e, ULONG * pnRes );
public: // Spliced in from WINDOW
HWND QueryHwnd() const; virtual HWND QueryRobustHwnd() const;
VOID CaptureMouse(); VOID ReleaseMouse();
// Exported hooks for a couple of CCs
BOOL DoChar( const CHAR_EVENT & event ); BOOL DoUserMessage( const EVENT & event ); };
#endif // _BLTDISPH_HXX_
|