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 **/ /**********************************************************************/
/*
bltcc.hxx Custom control header file
This is the parent class for all the custom control objects. This class is acted as a shadow class and provide those OnXXX method from DISPATCHER class to all the CC objects.
FILE HISTORY: terryk 16-Apr-1991 Created terryk 20-Jun-1991 First code review changed. Attend: beng terryk 05-Jul-1991 Second code review changed. Attend: beng chuckc rustanl annmc terryk terryk 03-Aug-1991 Change Dispatch return type to ULONG beng 28-May-1992 Major shuffling between bltcc and bltdisph */
#ifndef _BLTCC_HXX_
#define _BLTCC_HXX_
DLL_CLASS EVENT; // <bltevent.hxx>
DLL_CLASS XYPOINT; DLL_CLASS QMOUSEACT_EVENT;
extern "C" { extern LPARAM _EXPORT APIENTRY BltCCWndProc( HWND hwnd, UINT nMsg, WPARAM wParam, LPARAM lParam ); }
/*********************************************************************
NAME: CUSTOM_CONTROL
SYNOPSIS: Custom control object class definition
INTERFACE: CUSTOM_CONTROL() - constructor ~CUSTOM_CONTROL() - destructor
OnQDlgCode() - let cc return dialog code OnQHitTest() - let cc return window mouse hit-test OnQMouseActivate() - let cc be activated by mouseclick OnQMouseCursor() - let cc change the window cursor
PARENT: DISPATCHER
USES: EVENT, PROC_INSTANCE, WINDOW, XYPOINT, QMOUSEACT_EVENT
CAVEATS: All the custom control objects must use CUSTOM_CONTROL class as their parent class.
The constructor of this class will set the call back function to Dispatcher's WndProc.
HISTORY: terryk 15-May-91 Created beng 17-Oct-1991 Win32 conversion beng 15-May-1992 Added OnQDlgCode member beng 18-May-1992 Added OnQHitTest, OnQMouseActivate members beng 21-May-1992 Added OnQMouseCursor beng 28-May-1992 Major bltcc vs. bltdisph reshuffle
**********************************************************************/
DLL_CLASS CUSTOM_CONTROL: public DISPATCHER { private: CONTROL_WINDOW *_pctrl; PROC_INSTANCE _instance; // Dispatcher WndProc
MFARPROC _lpfnOldWndProc; // original window class's WndProc
protected: LPARAM SubClassWndProc( const EVENT & event );
public: CUSTOM_CONTROL( CONTROL_WINDOW * pctrl ); ~CUSTOM_CONTROL();
CONTROL_WINDOW * QueryControlWin() const { return _pctrl; }
VOID CVSaveValue( BOOL fInvisible = TRUE ); VOID CVRestoreValue( BOOL fInvisible = TRUE );
static LPARAM WndProc( HWND hwnd, UINT nMsg, WPARAM wParam, LPARAM lParam ); };
#endif // _BLTCC_HXX_
|