home *** CD-ROM | disk | FTP | other *** search
/ Power-Programmierung / CD1.mdf / magazine / drdobbs / 1991 / 08 / dflat5 / dialbox.h < prev    next >
Text File  |  1991-06-19  |  1KB  |  53 lines

  1. /* ----------------- dialbox.h ---------------- */
  2.  
  3. #ifndef DIALOG_H
  4. #define DIALOG_H
  5.  
  6. #include <stdio.h>
  7.  
  8. #define MAXCONTROLS 25
  9.  
  10. #define OFF FALSE
  11. #define ON  TRUE
  12.  
  13. /* -------- dialog box and control window structure ------- */
  14. typedef struct  {
  15.     char *title;    /* window title         */
  16.     int x, y;       /* relative coordinates */
  17.     int h, w;       /* size                 */
  18. } DIALOGWINDOW;
  19.  
  20. /* ------ one of these for each control window ------- */
  21. typedef struct {
  22.     DIALOGWINDOW dwnd;
  23.     CLASS class;    /* LISTBOX, BUTTON, etc */
  24.     char *itext;    /* initialized text     */
  25.     char *vtext;    /* variable text        */
  26.     int command;    /* command code         */
  27.     char *help;     /* help mnemonic        */
  28.     int isetting;   /* initially ON or OFF  */
  29.     int setting;    /* ON or OFF            */
  30.     void *wnd;      /* window handle        */
  31. } CTLWINDOW;
  32.  
  33. /* --------- one of these for each dialog box ------- */
  34. typedef struct {
  35.     char *HelpName;
  36.     DIALOGWINDOW dwnd;
  37.     CTLWINDOW ctl[MAXCONTROLS+1];
  38. } DBOX;
  39.  
  40. /* -------- macros for dialog box resource compile -------- */
  41. #define DIALOGBOX(db) DBOX db={ #db,
  42. #define DB_TITLE(ttl,x,y,h,w) {ttl,x,y,h,w},{
  43. #define CONTROL(ty,tx,x,y,h,w,c) \
  44.  {{NULL,x,y,h,w},ty,tx,NULL,c,#c,(ty==BUTTON?ON:OFF),OFF,NULL},
  45. #define ENDDB }};
  46.  
  47. #define Cancel  " Cancel "
  48. #define Ok      "   OK   "
  49. #define Yes     "  Yes   "
  50. #define No      "   No   "
  51.  
  52. #endif
  53.