home *** CD-ROM | disk | FTP | other *** search
/ Liren Large Software Subsidy 7 / 07.iso / d / d020_1_4 / 3.ddi / INC / CUSTCNTL.H < prev    next >
Encoding:
C/C++ Source or Header  |  1990-06-01  |  2.6 KB  |  82 lines

  1. /*
  2.  * CUSTOM CONTROL LIBRARY - HEADER FILE
  3.  *
  4.  */
  5.  
  6. /* general size definitions */
  7. #define     CTLTYPES        12                /* number of control types */
  8. #define     CTLDESCR        22                /* size of control menu name */
  9. #define        CTLCLASS          20                  /* max size of class name */
  10. #define        CTLTITLE          94                  /* max size of control text */
  11.  
  12. /* */
  13.  
  14. /*
  15.  * CONTROL STYLE DATA STRUCTURE
  16.  *
  17.  * This data structure is used by the class style dialog function
  18.  * to set and/or reset various control attributes.
  19.  *
  20.  */
  21.  
  22. typedef struct {
  23.     WORD            wX;                             /* x origin of control */
  24.     WORD            wY;                             /* y origin of control */
  25.     WORD            wCx;                            /* width of control */
  26.     WORD            wCy;                            /* height of control */
  27.     WORD            wId;                            /* control child id */
  28.     DWORD            dwStyle;                        /* control style */
  29.     char            szClass[CTLCLASS];          /* name of control class */
  30.     char            szTitle[CTLTITLE];          /* control text */
  31. } CTLSTYLE;
  32.  
  33. typedef CTLSTYLE *        PCTLSTYLE;
  34. typedef CTLSTYLE FAR *        LPCTLSTYLE;
  35.  
  36. /* */
  37.  
  38. /*
  39.  * CONTROL DATA STRUCTURE
  40.  *
  41.  * This data structure is returned by the control options function
  42.  * when enquiring about the capabilities of a particular control.
  43.  * Each control may contain various types (with predefined style
  44.  * bits) under one general class.
  45.  *
  46.  * The width and height fields are used to provide the host
  47.  * application with a suggested size.  The values in these fields
  48.  * could be either in pixels or in rc coordinates.  If it is in pixel,
  49.  * the most sigificant bit(MSB) is on.  If the MSB is off, it is in rc
  50.  * coordinates.
  51.  *
  52.  * The cursor and bitmap handles reference objects which can be
  53.  * used by the dialog editor in the placement and definition of
  54.  * new, user-defined control classes.  However, dialog editor in win30
  55.  * does not use these fields.
  56.  *
  57.  */
  58.  
  59. typedef struct {
  60.     WORD            wType;                        /* type style */
  61.     WORD            wWidth;                        /* suggested width */
  62.     WORD            wHeight;                        /* suggested height */
  63.     DWORD            dwStyle;                        /* default style */
  64.     char            szDescr[CTLDESCR];          /* menu name */
  65. } CTLTYPE;
  66.  
  67. typedef struct {
  68.     WORD            wVersion;                    /* control version */
  69.     WORD            wCtlTypes;                    /* control types */
  70.     char            szClass[CTLCLASS];          /* control class name */
  71.     char            szTitle[CTLTITLE];          /* control title */
  72.     char            szReserved[10];            /* reserved for future use */
  73.     CTLTYPE         Type[CTLTYPES];         /* control type list */
  74. } CTLINFO;
  75.  
  76. typedef CTLINFO *        PCTLINFO;
  77. typedef CTLINFO FAR *        LPCTLINFO;
  78.  
  79. /* These two function prototypes are used by dialog editor */
  80. typedef DWORD            (FAR PASCAL *LPFNSTRTOID)( LPSTR );
  81. typedef WORD            (FAR PASCAL *LPFNIDTOSTR)( WORD, LPSTR, WORD );
  82.