106 lines
3.6 KiB
C
106 lines
3.6 KiB
C
/*****************************************************************************\
|
|
* *
|
|
* custcntl.h - Custom Control Library header file *
|
|
* *
|
|
* Copyright (c) 1992, Microsoft Corp. All rights reserved *
|
|
* *
|
|
\*****************************************************************************/
|
|
|
|
#ifndef _INC_CUSTCNTL
|
|
#define _INC_CUSTCNTL
|
|
|
|
#ifndef RC_INVOKED
|
|
#pragma pack(1) /* Assume byte packing throughout */
|
|
#endif /* RC_INVOKED */
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" { /* Assume C declarations for C++ */
|
|
#endif /* __cplusplus */
|
|
|
|
/*
|
|
* Every custom control DLL must have three functions present,
|
|
* and they must be exported by the following ordinals.
|
|
*/
|
|
#define CCINFOORD 2 /* information function ordinal */
|
|
#define CCSTYLEORD 3 /* styles function ordinal */
|
|
#define CCFLAGSORD 4 /* translate flags function ordinal */
|
|
|
|
/* general size definitions */
|
|
#define CTLTYPES 12 /* max number of control types */
|
|
#define CTLDESCR 22 /* max size of description */
|
|
#define CTLCLASS 20 /* max size of class name */
|
|
#define CTLTITLE 94 /* max size of control text */
|
|
|
|
/*
|
|
* CONTROL STYLE DATA STRUCTURE
|
|
*
|
|
* This data structure is used by the class style dialog function
|
|
* to set and/or reset various control attributes.
|
|
*
|
|
*/
|
|
typedef struct tagCTLSTYLE
|
|
{
|
|
UINT wX; /* x origin of control */
|
|
UINT wY; /* y origin of control */
|
|
UINT wCx; /* width of control */
|
|
UINT wCy; /* height of control */
|
|
UINT wId; /* control child id */
|
|
DWORD dwStyle; /* control style */
|
|
char szClass[CTLCLASS]; /* name of control class */
|
|
char szTitle[CTLTITLE]; /* control text */
|
|
} CTLSTYLE;
|
|
typedef CTLSTYLE * PCTLSTYLE;
|
|
typedef CTLSTYLE FAR* LPCTLSTYLE;
|
|
|
|
/*
|
|
* CONTROL DATA STRUCTURE
|
|
*
|
|
* This data structure is returned by the control options function
|
|
* when inquiring about the capabilities of a particular control.
|
|
* Each control may contain various types (with predefined style
|
|
* bits) under one general class.
|
|
*
|
|
* The width and height fields are used to provide the host
|
|
* application with a suggested size. The values in these fields
|
|
* are in rc coordinates.
|
|
*
|
|
*/
|
|
typedef struct tagCTLTYPE
|
|
{
|
|
UINT wType; /* type style */
|
|
UINT wWidth; /* suggested width */
|
|
UINT wHeight; /* suggested height */
|
|
DWORD dwStyle; /* default style */
|
|
char szDescr[CTLDESCR]; /* description */
|
|
} CTLTYPE;
|
|
|
|
typedef struct tagCTLINFO
|
|
{
|
|
UINT wVersion; /* control version */
|
|
UINT wCtlTypes; /* control types */
|
|
char szClass[CTLCLASS]; /* control class name */
|
|
char szTitle[CTLTITLE]; /* control title */
|
|
char szReserved[10]; /* reserved for future use */
|
|
CTLTYPE Type[CTLTYPES]; /* control type list */
|
|
} CTLINFO;
|
|
typedef CTLINFO * PCTLINFO;
|
|
typedef CTLINFO FAR* LPCTLINFO;
|
|
|
|
/* These two function prototypes are used by the dialog editor */
|
|
#ifdef STRICT
|
|
typedef DWORD (CALLBACK* LPFNSTRTOID)(LPCSTR);
|
|
#else
|
|
typedef DWORD (CALLBACK* LPFNSTRTOID)(LPSTR);
|
|
#endif
|
|
typedef UINT (CALLBACK* LPFNIDTOSTR)(UINT, LPSTR, UINT);
|
|
|
|
#ifdef __cplusplus
|
|
}
|
|
#endif /* __cplusplus */
|
|
|
|
#ifndef RC_INVOKED
|
|
#pragma pack()
|
|
#endif /* RC_INVOKED */
|
|
|
|
#endif /* _INC_CUSTCNTL */
|