home *** CD-ROM | disk | FTP | other *** search
- //---------------------------------------------------------------------------
- // Push.h
- //---------------------------------------------------------------------------
-
- //---------------------------------------------------------------------------
- // Helpful Macros
- //---------------------------------------------------------------------------
- #define OFFSETIN( struc, field ) ( (USHORT)&( ((struc *)0)->field ) )
-
-
- //---------------------------------------------------------------------------
- // Resource ID's
- //---------------------------------------------------------------------------
- // Toolbox bitmap resource IDs.
- //---------------------------------------------------------------------------
- #define IDBMP_PUSH 8000
- #define IDBMP_PUSHDOWN 8001
- #define IDBMP_PUSHMONO 8003
- #define IDBMP_PUSHEGA 8006
-
-
- //---------------------------------------------------------------------------
- // PUSH control data and structs
- //---------------------------------------------------------------------------
- typedef struct tagPUSH
- {
- HPIC hpicUp;
- HPIC hpicDown;
- } PUSH;
-
- typedef PUSH FAR * PPUSH;
-
- #define PUSHDEREF(hctl) ((PPUSH)VBDerefControl(hctl))
-
-
- //---------------------------------------------------------------------------
- // Control Procedure
- //---------------------------------------------------------------------------
- LONG FAR PASCAL _export PushCtlProc(HCTL, HWND, USHORT, USHORT, LONG);
-
-
- #ifndef RC_INVOKED
- //---------------------------------------------------------------------------
- // Property list
- //---------------------------------------------------------------------------
- // Define the consecutive indicies for the properties
- //---------------------------------------------------------------------------
- #define IPROP_PUSH_NAME 0x0000
- #define IPROP_PUSH_INDEX 0x0001
- #define IPROP_PUSH_PARENT 0x0002
- #define IPROP_PUSH_BACKCOLOR 0x0003
- #define IPROP_PUSH_LEFT 0x0004
- #define IPROP_PUSH_TOP 0x0005
- #define IPROP_PUSH_WIDTH 0x0006
- #define IPROP_PUSH_HEIGHT 0x0007
- #define IPROP_PUSH_ENABLED 0x0008
- #define IPROP_PUSH_VISIBLE 0x0009
- #define IPROP_PUSH_MOUSEPOINTER 0x000A
- #define IPROP_PUSH_CAPTION 0x000B
- #define IPROP_PUSH_FONTNAME 0x000C
- #define IPROP_PUSH_FONTSIZE 0x000D
- #define IPROP_PUSH_FONTBOLD 0x000E
- #define IPROP_PUSH_FONTITALIC 0x000F
- #define IPROP_PUSH_FONTSTRIKE 0x0010
- #define IPROP_PUSH_FONTUNDER 0x0011
- #define IPROP_PUSH_DRAG 0x0012
- #define IPROP_PUSH_DRAGICON 0x0013
- #define IPROP_PUSH_TABINDEX 0x0014
- #define IPROP_PUSH_TABSTOP 0x0015
- #define IPROP_PUSH_TAG 0x0016
- #define IPROP_PUSH_PICTUREUP 0x0017
- #define IPROP_PUSH_PICTUREDOWN 0x0018
-
- #ifdef CTL_DATA
- PROPINFO propinfoPictureUp =
- {
- "PictureUp",
- DT_PICTURE | PF_fGetData | PF_fSetCheck | PF_fSetData | PF_fSaveData,
- OFFSETIN(PUSH,hpicUp), 0
- };
-
- PROPINFO propinfoPictureDown =
- {
- "PictureDown",
- DT_PICTURE | PF_fGetData | PF_fSetCheck | PF_fSetData | PF_fSaveData,
- OFFSETIN(PUSH,hpicDown), 0
- };
-
- PPROPINFO proplistPush[] =
- {
- PPROPINFO_STD_CTLNAME,
- PPROPINFO_STD_INDEX,
- PPROPINFO_STD_PARENT,
- PPROPINFO_STD_BACKCOLOR,
- PPROPINFO_STD_LEFT,
- PPROPINFO_STD_TOP,
- PPROPINFO_STD_WIDTH,
- PPROPINFO_STD_HEIGHT,
- PPROPINFO_STD_ENABLED,
- PPROPINFO_STD_VISIBLE,
- PPROPINFO_STD_MOUSEPOINTER,
- PPROPINFO_STD_CAPTION,
- PPROPINFO_STD_FONTNAME,
- PPROPINFO_STD_FONTSIZE,
- PPROPINFO_STD_FONTBOLD,
- PPROPINFO_STD_FONTITALIC,
- PPROPINFO_STD_FONTSTRIKE,
- PPROPINFO_STD_FONTUNDER,
- PPROPINFO_STD_DRAGMODE,
- PPROPINFO_STD_DRAGICON,
- PPROPINFO_STD_TABINDEX,
- PPROPINFO_STD_TABSTOP,
- PPROPINFO_STD_TAG,
- &propinfoPictureUp,
- &propinfoPictureDown,
- NULL
- };
- #endif // CTL_DATA
-
-
-
- //---------------------------------------------------------------------------
- // Event procedure parameter prototypes
- //---------------------------------------------------------------------------
- #ifdef CTL_DATA
- WORD Parms_I2[] = {ET_I2}; // 1 x I2 parm
- WORD Parms_2xI2[] = {ET_I2, ET_I2}; // 2 x I2 parm
- WORD Parms_SD[] = {ET_SD}; // 1 x SD parm
-
- EVENTINFO Event_Click =
- {
- "Click",
- 1,
- 2,
- Parms_SD,
- "ButtonCaption as String"
- };
- #endif // CTL_DATA
-
-
- //---------------------------------------------------------------------------
- // Event list
- //---------------------------------------------------------------------------
- // Define the consecutive indicies for the events
- //---------------------------------------------------------------------------
- #define EVENT_PUSH_CLICK 0
- #define EVENT_PUSH_DRAGDROP 1
- #define EVENT_PUSH_DRAGOVER 2
- #define EVENT_PUSH_GOTFOCUS 3
- #define EVENT_PUSH_KEYDOWN 4
- #define EVENT_PUSH_KEYPRESS 5
- #define EVENT_PUSH_KEYUP 6
- #define EVENT_PUSH_LOSTFOCUS 7
-
- #ifdef CTL_DATA
- PEVENTINFO eventlistPush[] =
- {
- &Event_Click,
- PEVENTINFO_STD_DRAGDROP,
- PEVENTINFO_STD_DRAGOVER,
- PEVENTINFO_STD_GOTFOCUS,
- PEVENTINFO_STD_KEYDOWN,
- PEVENTINFO_STD_KEYPRESS,
- PEVENTINFO_STD_KEYUP,
- PEVENTINFO_STD_LOSTFOCUS,
- NULL
- };
- #endif // CTL_DATA
-
-
- //---------------------------------------------------------------------------
- // Model struct
- //---------------------------------------------------------------------------
- // Define the control model (using the event and property structures).
- //---------------------------------------------------------------------------
- #ifdef CTL_DATA
- MODEL modelPush =
- {
- VB_VERSION, // VB version being used
- MODEL_fFocusOk | MODEL_fMnemonic, // MODEL flags
- (PCTLPROC)PushCtlProc, // Control procedure
- CS_VREDRAW | CS_HREDRAW, // Class style
- BS_PUSHBUTTON | BS_OWNERDRAW, // Default Window style
- sizeof(PUSH), // cbCtlExtra for PUSH structure
- IDBMP_PUSH, // Palette bitmap ID
- "Push", // Default control name
- "PushButton", // Visual Basic class name
- "Button", // Parent class name
- proplistPush, // Properties list
- eventlistPush // Events list
- };
- #endif // CTL_DATA
-
- #endif // RC_INVOKED
-
- //---------------------------------------------------------------------------
-