home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / ctrl2.zip / BARCHART.H < prev    next >
Text File  |  1996-02-24  |  5KB  |  118 lines

  1.  
  2. /* barchart.h       Created:    1996-02-20  Revised:  1996-02-20        */
  3.  
  4. /* PMCX    Control    Example    Constants Header                */
  5.  
  6. /* Copyright ╕ 1989-1996  Prominare Inc.  All Rights Reserved.        */
  7.  
  8.  
  9. /* --- Miscellaneous Constants ----------------------------------------    */
  10.  
  11. #define    DID_HELP          3       /* Help Push    Button ID        */
  12. #define    DID_FONTCLR         11       /* Font & Colour Push Button    ID    */
  13. #define    DID_BIDI         12       /* Bidi Push    Button ID        */
  14.  
  15. #define    CB_VISIBLE        256       /* Visible Check Box    ID        */
  16. #define    CB_GROUP        257       /* Group Check Box ID        */
  17. #define    CB_DISABLED        258       /* Disabled Check Box ID        */
  18. #define    CB_TABSTOP        259       /* Tab Stop Check Box ID        */
  19.  
  20. #define    IDS_VISIBLE        512       /* Visible Style String        */
  21. #define    IDS_GROUP        513       /* Group Style String        */
  22. #define    IDS_DISABLED        514       /* Disabled Style String        */
  23. #define    IDS_TABSTOP        515       /* Tab Stop Style String        */
  24.  
  25. /* --- Control Dialogue    -----------------------------------------------    */
  26.  
  27. #define    DLG_CTRLUSER       1000       /* User Defined Dialog        */
  28. #define    EF_TEXT           4051       /* Text Edit    Field            */
  29. #define    IDBX_SYMBOLVALUE   4053       /* ID Value Edit Field        */
  30. #define    EF_ITEMS       5001       /* Items Count Entry    Field        */
  31. #define    MLE_VALUES       5002       /* Values MLE            */
  32. #define    EF_VERTTITLE       5003       /* Vertical Title            */
  33. #define    EF_HORZTITLE       5004       /* Horizontal Title            */
  34. #define    MLE_HORZSCALE       5005       /* Horizontal Title            */
  35.  
  36. /* --- Bar Chart CTLDATA ----------------------------------------------    */
  37.  
  38. typedef    struct _BARCHARTCDATA       /* bccd */
  39.    {
  40.    ULONG   cb;               /* Structure    Size            */
  41.    ULONG   ulVersion;           /* Structure    Version    Number        */
  42.    ULONG   cItems;           /* Item Count            */
  43.    ULONG   cbVertTitle;           /* Vertical Title Text Size        */
  44.    ULONG   cbHorzTitle;           /* Horizontal Title Text Size    */
  45.    CHAR       szVertTitle[1];       /* Vertical Title            */
  46. /* CHAR       szHorzTitle[1]; */       /* Horizontal Title            */
  47. /* ULONG   aulValues[1]; */       /* Values Array            */
  48. /* BYTE       abList[1]; */       /* List Array            */
  49.    } BARCHARTCDATA, *PBARCHARTCDATA;
  50.  
  51. #define    PSZVERTTITLE(pbccd)    (PSZ)((*(PBARCHARTCDATA)(pbccd)).szVertTitle)
  52. #define    PSZHORZTITLE(pbccd)    (PSZ)((*(PBARCHARTCDATA)(pbccd)).szVertTitle + (*(PBARCHARTCDATA)(pbccd)).cbVertTitle)
  53. #define    PULONGVALUES(pbccd)    (PULONG)((*(PBARCHARTCDATA)(pbccd)).szVertTitle    + (*(PBARCHARTCDATA)(pbccd)).cbVertTitle +\
  54.                      (*(PBARCHARTCDATA)(pbccd)).cbHorzTitle)
  55. #define    PBYTELIST(pbccd)    (PBYTE)((*(PBARCHARTCDATA)(pbccd)).szVertTitle + (*(PBARCHARTCDATA)(pbccd)).cbVertTitle    +\
  56.                      (*(PBARCHARTCDATA)(pbccd)).cbHorzTitle    + (*(PBARCHARTCDATA)(pbccd)).cItems * sizeof(ULONG))
  57.  
  58. /* --- Window Information Structures ----------------------------------    */
  59.  
  60. typedef    struct _BARCHARTITEM       /* bci */
  61.    {
  62.    ULONG   ulValue;           /* Value                */
  63.    ULONG   cLabel;           /* Label Size            */
  64.    PSZ       pszLabel;           /* Label                */
  65.    RECTL   rclLabel;           /* Label Rectangle            */
  66.    RECTL   rcl;               /* Fill Rectangle            */
  67.    POINTL  aptl[4];           /* Outline Points            */
  68.    } BARCHARTITEM, *PBARCHARTITEM ;
  69.  
  70. typedef    struct _SCALEITEM       /* si */
  71.    {
  72.    ULONG   cLabel;           /* Label Size            */
  73.    PSZ       pszLabel;           /* Label                */
  74.    RECTL   rcl;               /* Text Rectangle            */
  75.    } SCALEITEM,    *PSCALEITEM ;
  76.  
  77. typedef    struct _BARCHART       /* bc */
  78.    {
  79.    HWND         hwndOwner;       /* Owner Window Handle        */
  80.    BOOL         fDraw;           /* Draw Flag                */
  81.    POINTL     aptl[9];       /* Chart Outline Points        */
  82.    RECTL     rcl;           /* Chart Area Rectangle        */
  83.    ULONG     cItems;       /* Item Count            */
  84.    ULONG     cTitleText;       /* Title Text Length            */
  85.    PSZ         pszTitleText;       /* Title Text Pointer        */
  86.    RECTL     rclTitleText;       /* Title Text Display Area        */
  87.    ULONG     cHorzText;       /* Horizontal Title Text Length    */
  88.    PSZ         pszHorzText;       /* Horizontal Title Text Pointer    */
  89.    RECTL     rclHorzText;       /* Horizontal Title Text Display Area*/
  90.    ULONG     cVertText;       /* Vertical Title Text Length    */
  91.    PSZ         pszVertText;       /* Vertical Title Text Pointer    */
  92.    RECTL     rclVertText;       /* Vertical Title Text Display Area    */
  93.    LONG         lClrText;       /* Text Colour            */
  94.    LONG         lClrBackground;   /* Background Colour            */
  95.    LONG         lClrBorder;       /* Border Colour            */
  96.    FATTRS     fat;           /* Vertical Font Attributes        */
  97.    SIZEF     sizfx;           /* Font Size                */
  98.    ULONG     cScales;       /* Scale Item Count            */
  99.    PSCALEITEM     psi;           /* Scale Item Array            */
  100.    PBARCHARTITEM pbci;           /* Bar Chart    Items Pointer        */
  101.    } BARCHART, *PBARCHART ;
  102.  
  103.  
  104. /* --- Control Messages    -----------------------------------------------    */
  105.  
  106. #define    BCM_SETVERTSCALETITLE (WM_USER+512)
  107. /*     mp1 = MPFROMP(pszVertTitle);       */
  108. /*     mp2 = 0;                   */
  109. #define    BCM_SETHORZSCALETITLE (WM_USER+513)
  110. /*     mp1 = PVOIDFROMMP(pszHorzTitle);       */
  111. /*     mp2 = 0;                   */
  112. #define    BCM_SETHORZSCALE      (WM_USER+514)
  113. /*     mp1 = MPFROMLONG(cItems);       */
  114. /*     mp2 = MPFROMP(apszScaleLabels);       */
  115. #define    BCM_SETVALUES          (WM_USER+515)
  116. /*     mp1 = MPFROMLONG(cItems);       */
  117. /*     mp2 = MPFROMP(aulValues);       */
  118.