home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic 4 Unleashed / Visual_Basic_4_Unleashed_SAMS_Publishing_1995.iso / chartfx / cfxvbx / chart2fx.hpp < prev    next >
Encoding:
C/C++ Source or Header  |  1995-01-05  |  28.2 KB  |  903 lines

  1. #ifdef __cplusplus 
  2. extern "C" { 
  3. #endif 
  4.  
  5. #ifndef __CHARTFX20__
  6.  
  7. // Routines Provided
  8. HWND WINAPI chart_Create(long, long, HWND,int ,int ,int ,int ,int ,int ,UINT ,DWORD);
  9. long WINAPI chart_Send(HWND ,UINT ,WPARAM ,LPARAM);
  10. long WINAPI chart_OpenData(HWND, UINT, DWORD);
  11. BOOL WINAPI chart_CloseData(HWND ,UINT);
  12. long WINAPI chart_SetValue(HWND, int, int, double);
  13. long WINAPI chart_SetIniValue(HWND ,int, int, double);
  14. long WINAPI chart_SetXvalue(HWND , int ,int ,double);
  15. long WINAPI chart_SetConst(HWND, int, double);
  16. long WINAPI chart_SetColor(HWND, int, DWORD, BOOL);
  17. void WINAPI chart_SetAdm(HWND, int, double);
  18. long WINAPI chart_SetStripe(HWND, int, double, double, DWORD);
  19. long WINAPI chart_SetStatusItem(HWND, int, BOOL, UINT, BOOL, int, int, int, DWORD);
  20. double WINAPI chart_Get(HWND, long, UINT);
  21. void WINAPI chart_Get2(HWND, long, UINT, double far *);
  22. void WINAPI chart_Paint(HWND, HDC, int, int, int, int, UINT, LPPAINTSTRUCT);
  23. long WINAPI chart_OpenDataEx(HWND ,UINT , int, int);
  24. double WINAPI chart_GetAdm(HWND, int);
  25. void WINAPI chart_GetAdm2(HWND, int, double far *);
  26.  
  27. // Notification Messages
  28. #define CN_LBUTTONDBLCLK    0x0000
  29. #define CN_RBUTTONDOWN        0x0001
  30. #define CN_CHANGEVALUE        0x0002
  31. #define CN_CHANGESTRING        0x0003
  32. #define CN_CHANGECOLOR        0x0004
  33. #define CN_DESTROY            0x0005        // You will not receive this event if the chart is a child (i.e. VBX)
  34. #define CN_POSTDESTROY        CN_DESTROY    // Obsolete
  35. #define CN_READFILE            0x0006
  36. #define CN_CHANGEPALETTE    0x0007
  37. #define CN_CHANGEFONT        0x0008
  38. #define CN_READTEMPLATE        0x0009
  39. #define CN_CHANGEPATTERN    0x000A
  40. #define CN_CHANGEPATTPAL    0x000B
  41. #define CN_MENU                0x000C
  42. #define CN_CHANGETYPE        0x000D
  43. #define CN_SCROLL            0x000E        
  44. #define CN_GETLEGEND        0x000F        
  45. #define CN_INTERNALCOMMAND    0x0010
  46. #define CN_USERCOMMAND        0x0011        // Using the DLL you will not receive this event
  47. #define CN_SHOWTOOLBAR        0x0012
  48. #define CN_PREPAINT            0x0013
  49. #define CN_POSTPAINT        0x0014
  50. #define CN_PAINTMARKER        0x0015
  51. #define CN_LBUTTONDOWN        0x0016
  52. #define CN_LBUTTONUP        0x0017
  53. #define CN_RBUTTONUP        0x0018
  54. #define CN_RBUTTONDBLCLK    0x0019
  55. #define CN_MOUSEMOVE        0x001A
  56.  
  57. #define CN_KILLFOCUS        0xFFFE
  58. #define CN_SETFOCUS            0xFFFF
  59. //
  60.  
  61. // Notification Codes
  62. enum { CCC_SERIE, CCC_SERIEBK, CCC_ONE, CCC_ONEBK, CCC_BARHORZ, CCC_BKGND, CCC_2DBK, CCC_3DBK };
  63. enum { CCS_LEGEND, CCS_SERLEGEND };
  64. enum { CCP_SERIE, CCP_ONE };
  65.  
  66. // Constants
  67.  
  68. // Gallery Types
  69. enum { LINE = 1, BAR, SPLINE, MARK, PIE, AREA, PARETO, SCATTER, HILOW, SURFACE, POLAR, CUBE, DOUGHNUT};
  70.  
  71. // Chart Types 
  72. #define CT_3D                0x00000100L
  73. #define CT_HORZ              0x00000200L
  74. #define CT_TOOL                0x00000400L
  75. #define CT_PALETTE            0x00000800L
  76. #define CT_LEGEND            0x00001000L
  77. #define CT_TOGETHER            0x00002000L            // Obsolete Use CM_MARKERVOLUME
  78. #define CT_POINTS            0x00004000L
  79. #define CT_SHOWZERO            0x00008000L
  80. #define CT_EACHBAR            0x00010000L
  81. #define CT_CLUSTER            0x00020000L
  82. #define CT_SHOWDATA            0x00040000L
  83. #define CT_DLGGRAY            0x00080000L
  84. #define CT_PATTERN            0x00100000L
  85. #define CT_SHOWVALUES        0x00200000L
  86. #define CT_MENU                0x00400000L
  87. #define CT_SHOWLINES        0x00800000L        
  88. #define CT_SCATTERLINE        CT_SHOWLINES
  89. #define CT_COLORLINE        0x01000000L
  90. #define CT_NOAREALINE        0x02000000L
  91. #define CT_HILOWSTD            CT_NOAREALINE
  92. #define CT_NOBORDERS        0x04000000L
  93. #define CT_PIEVALUES        0x08000000L
  94. #define CT_TRACKMOUSE        0x10000000L
  95. #define CT_EVENSPACING        0x20000000L
  96. #define CT_SERLEGEND        0x40000000L
  97. #define CT_PAINTMARKER        0x80000000L
  98.  
  99. // Extended types
  100. #define CTE_STEPLINES        0x00000001L
  101. #define CTE_SMOOTH            0x00000002L
  102. #define CTE_SQUAREPIE        0x00000004L 
  103. #define CTE_NOLEGINVALIDATE    0x00000008L
  104. #define CTE_ACTMINMAX        0x00000010L
  105. #define CTE_NOTITLESHADOW    0x00000020L
  106.  
  107. // Extended Types
  108.  
  109. #define CS_CHLINE            0x00000001L
  110. #define CS_CHBAR            0x00000002L
  111. #define CS_CHSPLINE            0x00000004L
  112. #define CS_CHMARK            0x00000008L
  113. #define CS_CHPIE            0x00000010L
  114. #define CS_CHAREA            0x00000020L
  115. #define CS_CHPARETO            0x00000040L
  116. #define CS_CHSCATTER        0x00000080L
  117. #define CS_CHHILOW            0x00000100L
  118. #define CS_MULTITYPE        0x00000800L
  119. #define CS_CHDEFAULT        0x00000FFFL
  120. #define CS_MINMAX            0x00001000L
  121. #define CS_3D                0x00002000L
  122. #define CS_HORZ                0x00004000L
  123. #define CS_TOGETHER            0x00008000L
  124. #define CS_SHOWPOINT        0x00010000L
  125. #define CS_SCALE            0x00020000L
  126. #define CS_TITLES            0x00040000L
  127. #define CS_FONTS            0x00080000L
  128. #define CS_EDITABLE            0x00100000L
  129. #define CS_FILEEXPORT        0x00200000L
  130. #define CS_FILEIMPORT        0x00400000L
  131. #define CS_SCROLLABLE        0x00800000L
  132. #define CS_PRINTABLE        0x01000000L
  133. #define CS_3DVIEW            0x02000000L
  134. #define CS_GRID                0x04000000L
  135. #define CS_RESIZEABLE        0x08000000L
  136. #define CS_TEMPLATE            0x10000000L
  137. #define CS_COPY                0x20000000L
  138. #define CS_CLOSEABLE        0x40000000L
  139. #define CS_LOGSCALE            0x80000000L
  140. #define CS_ALL                0xFFFFFFFFL
  141.  
  142. // chart_Send Constants
  143.  
  144. // Messages
  145. #define CM_SETTYPE                0x0001
  146. #define CM_SETSTYLE                0x0002
  147. #define CM_SETGAP                0x0003
  148. #define CM_SETDECIMALS            0x0004
  149. #define CM_SETPOINTTYPE            0x0005
  150. #define CM_SETSCHEME            0x0006
  151. #define CM_SETSTACKED            0x0007
  152. #define CM_SETGRID                0x0008
  153. #define CM_SETWALLWIDTH            0x0009
  154. #define CM_SETCOLOR                0x000A
  155. #define CM_SETBKCOLOR            0x000B
  156. #define CM_SETPATTERN            0x000C
  157. #define CM_SETBARHORZGAP        0x000D
  158. #define CM_SET3DVIEW            0x000E
  159. #define CM_SETPIXFACTOR            0x000F
  160. #define CM_SETLINEWIDTH            0x0010
  161. #define CM_SETLINESTYLE            0x0011
  162. #define CM_SETLINECOLOR            0x0012
  163. #define CM_SETFIXEDWIDTH        0x0013
  164. #define CM_SETFIXEDSTYLE        0x0014
  165. #define CM_SETFIXEDCOLOR        0x0015
  166. #define CM_SETFIXEDGAP            0x0016
  167. #define CM_SETDBLCLK            0x0017
  168. #define CM_SETRIGCLK            0x0018
  169. #define CM_SETRGBBARHORZ        0x0019
  170. #define CM_SETRGBBK                0x001A
  171. #define CM_SETRGB2DBK            0x001B
  172. #define CM_SETRGB3DBK            0x001C
  173. #define CM_SETFONT                0x001D
  174. #define CM_SETSTATUS            0x001E
  175. #define CM_SHOWSTATUS            0x001F
  176. #define CM_SETLANGUAGE            0x0020
  177. #define CM_SETTITLE                0x0021
  178. #define CM_GETTITLE                0x0022
  179. #define CM_SETHTEXT                0x0023
  180. #define CM_GETHTEXT                0x0024
  181. #define CM_SETLEGEND            0x0025
  182. #define CM_SETSERLEG            0x0026
  183. #define CM_SETKEYLEG            0x0027
  184. #define CM_SETFIXLEG            0x0028
  185. #define CM_SETYLEG                0x0029
  186. #define CM_SETKEYSER            0x002A
  187. #define CM_GETKEYSER            0x002B
  188. #define CM_GETLEGEND            0x002C
  189. #define CM_GETSERLEG            0x002D
  190. #define CM_GETKEYLEG            0x002E
  191. #define CM_GETFIXLEG            0x002F
  192. #define CM_GETYLEG                0x0030
  193. #define CM_SETHWNDMSG            0x0031
  194. #define CM_SETID                0x0032
  195. #define CM_SETSTATUSTEXT        0x0033
  196. #define CM_GETLAST                0x0034
  197. #define CM_EXPORTFILE            0x0035
  198. #define CM_IMPORTFILE            0x0036
  199. #define CM_NEW                  0x0037
  200. #define CM_WRITETEMPLATE        0x0038
  201. #define CM_READTEMPLATE            0x0039
  202. #define CM_GETSTATUS            0x003A
  203. #define CM_SETRGBFONT            0x003B
  204. #define CM_GETEDIT                0x003C
  205. #define CM_COPYDATA                0x003D
  206. #define CM_COPYBITMAP            0x003E
  207. #define CM_PRINT                0x003F
  208. #define CM_SETHFONT                0x0040
  209. #define CM_SETFIXEDBKCOLOR        0x0041
  210. #define CM_GETLASTEXTRA            0x0042
  211. #define CM_SETLINEBKCOLOR        0x0043
  212. #define CM_SETTOOL                0x0044
  213. #define CM_GETSERIEPOINT        0x0045
  214. #define CM_SETVERTGRIDGAP        0x0046
  215. #define CM_SETXLEGTYPE            0x0047            // Obsolete (Keeped for compatibility)
  216. #define CM_LEGSTYLE                0x0047
  217. #define CM_SETCONSTTYPE            0x0048
  218. #define CM_SETITEMWIDTH            0x0049
  219. #define CM_SETITEMCOLOR            0x004A
  220. #define CM_SETITEMSTYLE            0x004B
  221. #define CM_SHOWDIALOG            0x004C
  222. #define CM_SETLEGENDWIDTH        0x004D            // Obsolete (Keeped for compatibility)
  223. #define CM_TOOLSIZE                0x004D
  224. #define CM_SCROLL                0x004E
  225. #define CM_BARBITMAP            0x004F
  226. #define CM_MARKERSIZE            0x0050
  227. #define CM_MARKERVOLUME            0x0051
  228. #define CM_DEPTH                0x0052
  229. #define CM_LIGHT                0x0053
  230. #define CM_SHAPE                0x0054
  231. #define CM_MULTITYPE            0x0055
  232. #define CM_MULTISHAPE            0x0056
  233. #define CM_GALLERYTOOL            0x0057
  234. #define CM_CLEARLEGEND            0x0058
  235. #define CM_MAXVALUES            0x0059
  236. #define CM_REALTIMESTYLE        0x005A
  237. #define CM_EXPORT                0x005B
  238. #define CM_TBBITMAP                0x005C
  239. #define CM_TBITEMID                0x005D
  240. #define CM_TBITEMSTYLE            0x005E            
  241. #define CM_ENABLETBITEM            0x005F
  242. #define CM_MULTIYAXIS            0x0060
  243. #define CM_TOOLSTYLE            0x0061
  244. #define CM_ZOOM                    0x0062
  245. #define CM_SETITEMBKCOLOR        0x0063
  246. #define CM_IMPORT                0x0064
  247. #define CM_SEPARATESLICE        0x0065
  248. #define CM_GETPAINTINFO            0x0066
  249. #define CM_TOOLPOS                0x0067
  250. #define CM_MULTIPOINT            0x0068
  251. #define CM_EXTTYPE                0x0069
  252. #define CM_EXTSTYLE                0x006A
  253. #define CM_MOUSECAPTURE            0x006B
  254. #define CM_MULTILINESTYLE        0x006C
  255. #define CM_CURRENTAXIS            0x006D
  256.  
  257. // CM_SETSTYLE, CM_SETTYPE Constants
  258. enum { CHART_ADD, CHART_SET, CHART_REMOVE };
  259.  
  260. // CM_SETSTACKED Constants
  261. enum { CHART_NOSTACKED, CHART_STACKED, CHART_STACKED100 };
  262.  
  263. // CM_SETGRID Constants
  264. enum { CHART_NOGRID, CHART_HORZGRID, CHART_VERTGRID, CHART_BOTHGRID, CHART_GRIDY2};
  265.  
  266. // CM_SEPOINTTYPE Constants
  267. enum { CHART_NONEMK, CHART_RECTMK, CHART_CIRCLEMK, CHART_TRIANGLEMK, CHART_MARBLEMK, CHART_CUBEMK, CHART_MANYMK };
  268.  
  269. // CM_SETTITLE Constants
  270. enum { CHART_LEFTTIT, CHART_RIGHTTIT, CHART_TOPTIT, CHART_BOTTOMTIT };
  271.  
  272. // CM_SETFONT Constants
  273. enum { CHART_LEFTFT, CHART_RIGHTFT, CHART_TOPFT, CHART_BOTTOMFT, CHART_XLEGFT, CHART_YLEGFT, CHART_FIXEDFT, CHART_LEGENDFT, CHART_VALUESFT, CHART_POINTFT };
  274.  
  275. // CM_SETDBLCLK, CM_SETRIGCLK Constants
  276. enum { CHART_BALLOONCLK, CHART_DIALOGCLK, CHART_NONECLK, CHART_MENUCLK };
  277.  
  278. // CM_SETGAP Constants
  279. enum { CHART_LEFTGAP, CHART_RIGHTGAP, CHART_TOPGAP, CHART_BOTTOMGAP, CHART_ALLGAP };
  280.  
  281. // Colors    
  282. #define CHART_TRANSPARENT 0x80000000L
  283.  
  284. enum { CHART_WHITE=1, CHART_BLACK, CHART_LTGRAY, CHART_DKGRAY, CHART_RED, CHART_DKRED, CHART_BLUE,
  285.        CHART_DKBLUE, CHART_GREEN, CHART_DKGREEN, CHART_CYAN, CHART_DKCYAN, CHART_YELLOW,
  286.        CHART_DKYELLOW, CHART_VIOLET, CHART_DKVIOLET };
  287.  
  288. // CM_SETITEMSTYLE, CM_SETLINESTYLE, CM_SETFIXEDSTYLE Constants
  289. enum { CHART_SOLID, CHART_DASH, CHART_DOT, CHART_DASHDOT, CHART_DASHDOTDOT };
  290.  
  291. // CM_SETSCHEME Constants
  292. enum { CHART_CSSOLID, CHART_CSBWPATTERN, CHART_CSPATTERN };
  293.  
  294. // chart_SetColor Types
  295. enum { CHART_FGROUND, CHART_BGROUND };
  296.  
  297. // chart_Get Constants
  298. enum { CHART_GVALUES, CHART_GINIVALUES, CHART_GXVALUES };
  299.  
  300. // CM_SETLEGSTYLE Constants
  301. #define CL_NOTCLIPPED        0x0001
  302. #define CL_NOTCHANGECOLOR    0x0002
  303. #define CL_HIDE                0x0004        // Obsolete (use CL_HIDEXLEG)
  304. #define CL_HIDEXLEG            0x0004
  305. #define CL_FORCESERLEG        0x0008
  306. #define CL_GETLEGEND        0x0010
  307. #define CL_HIDEYLEG            0x0020
  308. #define CL_2LEVELS          0x0040
  309. #define CL_VERTXLEG         0x0080
  310. #define CL_SHOWZLEG            0x0100 
  311.  
  312. // CM_SETCONSTTYPE Constants
  313. #define CC_HIDETEXT            0x0001  
  314. #define CC_HIDE             0x0002  
  315.  
  316. // CM_SETITEM* {STYLE | COLOR | BKCOLOR | WIDTH}
  317. enum { CI_HORZGRID, CI_VERTGRID, CI_2DLINE, CI_FIXED, CI_LOOPPOS, CI_HORZGRID2 };
  318.  
  319. #define CHART_PS_TRANSPARENT    0x4000
  320.  
  321. // CM_SETDECIMALS Constants
  322. enum { CD_ALL, CD_VALUES, CD_YLEG, CD_XLEG, CD_YLEG2 };
  323.  
  324. // CM_GETSTATUS Constants
  325. #define CHART_GSVALUES        0x00000001L
  326. #define CHART_GSLEGENDS        0x00000002L
  327. #define CHART_GSCOLORS        0x00000004L
  328. #define CHART_GSPATTERNS    0x00000008L
  329. #define CHART_GSPALETTE        0x00000010L
  330. #define CHART_GSPATTPAL        0x00000020L
  331. #define CHART_GSREADTEMP    0x00000040L
  332. #define CHART_GSREADFILE    0x00000080L
  333. #define CHART_GSGALLERY        0x00000100L
  334. #define CHART_GSOPTIONS        0x00000200L
  335.  
  336. // CM_SETTOOL Constants
  337. #define CST_IMPORT            0x00000001L
  338. #define CST_EXPORT            0x00000002L
  339. #define CST_FILE            (CST_IMPORT | CST_EXPORT)
  340. #define CST_COPYBITMAP        0x00000004L
  341. #define CST_COPYDATA        0x00000008L
  342. #define CST_COPY            (CST_COPYBITMAP | CST_COPYDATA)
  343. #define CST_PRINT            0x00000010L
  344. #define CST_FILEEDIT        (CST_FILE | CST_COPY | CST_PRINT)
  345. #define CST_SPACE1            0x00000020L
  346. #define CST_GALLERY            0x00000040L
  347. #define CST_SPACECOMBO        0x00000080L
  348. #define CST_COLOR            0x00000100L
  349. #define CST_SPACE2            0x00000200L
  350. #define CST_3D                0x00000400L
  351. #define CST_ROTATE            0x00000800L
  352. #define CST_CLUSTER            0x00001000L
  353. #define CST_ZOOM            0x00002000L
  354. #define CST_VIEW            (CST_3D | CST_ROTATE | CST_CLUSTER | CST_ZOOM)
  355. #define CST_SPACE3            0x00004000L
  356. #define CST_LEGEND            0x00008000L
  357. #define CST_SERLEGEND        0x00010000L
  358. #define CST_VGRID            0x00020000L
  359. #define CST_HGRID            0x00040000L
  360. #define CST_LEGGRID            (CST_LEGEND | CST_SERLEGEND | CST_VGRID | CST_HGRID)
  361. #define CST_SPACE4            0x00080000L
  362. #define CST_TITLES            0x00100000L
  363. #define CST_FONTS            0x00200000L
  364. #define CST_TOOLS            0x00400000L
  365. #define CST_OPTIONS            0x00800000L
  366. #define CST_OTHER            (CST_TITLES | CST_FONTS | CST_TOOLS | CST_OPTIONS)
  367.  
  368. // CM_GALLERYTOOL Constants
  369. #define CSG_LINE            0x00000001L
  370. #define CSG_BAR                0x00000002L
  371. #define CSG_SPLINE            0x00000004L
  372. #define CSG_MARK            0x00000008L
  373. #define CSG_PIE                0x00000010L
  374. #define CSG_AREA            0x00000020L
  375. #define CSG_PARETO            0x00000040L
  376. #define CSG_SCATTER            0x00000080L
  377. #define CSG_HILOW            0x00000100L
  378. #define CSG_SURFACE            0x00000200L
  379. #define CSG_POLAR            0x00000400L
  380. #define CSG_CUBE            0x00000800L
  381. #define CSG_DOUGHNUT        0x00001000L
  382. #define CSG_BARHORZ            0x00002000L
  383. #define CSG_ALL                0xFFFFFFFFL
  384.             
  385. // Fonts Constants
  386. #define CF_BOLD                0x00000100L
  387. #define CF_ITALIC            0x00000200L
  388. #define CF_UNDERLINE        0x00000400L
  389. #define CF_STRIKEOUT        0x00000800L
  390. #define CF_FDONTCARE        0x00000000L
  391. #define CF_FROMAN            0x00001000L
  392. #define CF_FSWISS            0x00002000L
  393. #define CF_FMODERN            0x00003000L
  394. #define CF_FSCRIPT            0x00004000L
  395. #define CF_FDECORATIVE        0x00005000L
  396. #define CF_ARIAL            0x00000000L
  397. #define CF_COURIER            0x00010000L
  398. #define CF_COURIERNEW        0x00020000L
  399. #define CF_HELVETICA        0x00030000L
  400. #define CF_MODERN            0x00040000L
  401. #define CF_ROMAN            0x00050000L
  402. #define CF_SCRIPT            0x00060000L
  403. #define CF_SYMBOL            0x00070000L
  404. #define CF_TIMES            0x00080000L
  405. #define CF_TIMESNEWR        0x00090000L
  406. #define CF_WINGDINGS        0x000A0000L
  407.  
  408. // chart_OpenData Constants
  409. #define COD_VALUES                1
  410. #define COD_CONSTANTS            2
  411. #define COD_COLORS                3
  412. #define COD_STRIPES                4
  413. #define COD_INIVALUES            5
  414. #define COD_XVALUES                6
  415. #define COD_STATUSITEMS            7
  416.  
  417. // OpenData and CloseData Actions
  418. #define COD_SCROLLLEGEND        0x4000
  419. #define COD_NOINVALIDATE        0x2000
  420. #define COD_SMOOTH                0x1000
  421. #define COD_REMOVE                0x0800
  422. #define COD_ADDPOINTS            0x0400
  423. #define COD_REALTIMESCROLL        0x0300        // INCLUDES COD_REALTIME
  424. #define COD_REALTIME            0x0100
  425. #define COD_RESETMINMAX            0x0080
  426.  
  427. #define COD_UNKNOWN                0xffff
  428. #define COD_UNCHANGE            0
  429.  
  430. #define CHART_HIDDEN 3.402823466e+38F        // Same as FLT_MAX
  431.                      
  432. // chart_SetAdm,chart_GetAdm Constants
  433. enum { CSA_MIN, CSA_MAX, CSA_GAP, CSA_SCALE, CSA_YLEGGAP, CSA_PIXXVALUE, CSA_XMIN, CSA_XMAX, CSA_XGAP, CSA_LOGBASE, 
  434.        CSA_MIN2, CSA_MAX2, CSA_GAP2, CSA_SCALE2, CSA_XSCALE, CSA_LOGBASE2, CSA_LOGBASEX }; 
  435.  
  436. #define CHART_LOGN 0
  437.  
  438. // chart_OpenData - chart_SetValue, ... return values
  439. #define CR_OUTRANGE                -1
  440. #define CR_NOOPEN                -2
  441. #define CR_FAIL                    -3
  442. #define CR_INVALID                -4
  443. #define CR_BADCODE                -5
  444. #define CR_SUCCESS                0
  445. #define CR_NEW                    1
  446. #define CR_KEEPALL                2
  447. #define CR_LOSTLAST                3
  448.  
  449. // StatusBar Structure
  450. typedef struct tagSTITEM {
  451.     LPSTR sText;                // NULL -> no Text 
  452.     UINT wIdm;
  453.     BOOL bFrame;
  454.     int nWidth;                    // Width (pix)
  455.     int nMin;                    // Minimum width
  456.     int nDesp;                    // offset
  457.     DWORD dwStyle;
  458. } CHART_STITEM;
  459.  
  460. // 3D point
  461. typedef struct {
  462.             int x;
  463.             int y;
  464.             int z;
  465.         } POINT3D;
  466.  
  467. typedef POINT3D far *LPPOINT3D;
  468.  
  469. // HILOW Constants
  470.  
  471. // Hi-Low-Close
  472. enum { HLC_LOW, HLC_CLOSE, HLC_HIGH };
  473. // Open-Hi-Low-Close
  474. enum { OHLC_LOW, OHLC_OPEN, OHLC_CLOSE, OHLC_HIGH };
  475.  
  476. // CM_CLEARLEGEND values
  477. enum { CHART_LEGEND, CHART_SERLEG, CHART_KEYLEG, CHART_KEYSER, CHART_FIXLEG, CHART_YLEG };
  478.  
  479. // CM_REALTIMESTYLE values
  480. #define CRT_LOOPPOS            0x0001
  481. #define CRT_NOWAITARROW        0x0002
  482.  
  483. // CM_EXPORT,CM_IMPORT values
  484. enum { CHART_DATA, CHART_BITMAP, CHART_METAFILE, CHART_CFXFILE, CHART_CFXTEMPLATE,
  485.        CHART_INTERNALFILE, CHART_INTERNALTEMPLATE };
  486.  
  487. // chart_Paint Modes
  488. #define CPAINT_BKGND        0x0002
  489. #define CPAINT_PRINT        0x0001
  490.                                  
  491.  
  492. // CM_TOOLSTYLE & CM_TOOLSIZE values
  493. enum { CTOOL_LEGEND, CTOOL_SERLEGEND, CTOOL_TB};
  494. #define CTOOL_OPTIONS        0x2000
  495. #define CTOOL_MOVE            0x4000
  496.  
  497. // CM_TBBUTTONSTYLE values
  498. #define CTBS_BUTTON            0x0001        // this entry is button
  499. #define CTBS_SEPARATOR        0x0002        // this entry is a separator
  500. #define CTBS_MENU            0x0004        // Displays a menu (ID = menu)
  501. #define CTBS_ICONCOMBO        0x0008        // internal combo (Gallery & Color)
  502. #define CTBS_HWND            0x0088        // External Window     (ID = handle)
  503. #define CTBS_DESTROY        0x0010        // Destroy External Window when Destroyed
  504. #define CTBS_REPEAT            0x0800        // AutoRepeat button
  505. #define CTBS_GROUP            0x1000        // Belongs to the current group
  506. #define CTBS_2STATE            0x2000        // Two State Button
  507. #define CTBS_GROUP2STATE    0x3000        // Two State Button that belongs to the current group
  508. #define CTBS_HEAD            0x4000        // First Button of a group (New Group)
  509.  
  510. // Styles for tools CM_TOOLSTYLE
  511. #define CTS_HIDEFOCUS        0x00008000    // Tool bar disappear when not active
  512. #define CTS_WHITELINE        0x00010000    // Draw White Line (Shadow)
  513. #define CTS_DELIMITER        0x00020000    // Draw Delimiter/Border when Child
  514. #define CTS_SIZEABLE        0x00040000    // Sizeable when child
  515. #define CTS_HORZLAYER        0x00080000    // Layerable when Horizontal
  516. #define CTS_VERTLAYER        0x00100000    // Layerable when Vertical
  517. #define CTS_SIZELAYER        0x00200000  // Sizeable when Layered
  518. #define CTS_DBLCLKS            0x00400000    // Accept DBlClks (To Dock-Undock)
  519. #define CTS_DOCKABLE        0x00800000    // Dockable
  520. #define CTS_SPLITTER        0x01000000    // Draw Splitter
  521. #define CTS_3DFRAME            0x02000000    // Draw 3D Frame
  522. #define CTS_BORDERLAYER        0x04000000    // Draw LayerBorder Always
  523. #define CTS_BORDERIFLAYER    0x08000000    // Draw LayerBorder when layered
  524.  
  525. // Positions for tools (CM_TOOLPOS)
  526. #define CTP_TOP                0x0000
  527. #define CTP_LEFT            0x0001
  528. #define CTP_BOTTOM            0x0002
  529. #define CTP_RIGHT            0x0003
  530. #define CTP_FIXED            0x0004
  531. #define CTP_FLOAT            0x7FFF
  532. #define CTP_SWITCH            0x7FFE
  533.  
  534. // Tools Options
  535. // Legend Options
  536. #define CHART_LWORDBREAK        0x00000001
  537. #define CHART_LSKIPEMPTY        0x00000002
  538. #define CHART_LSHOWMENU            0x00000004
  539. #define CHART_LOPTIONSDLG        0x00000008
  540.  
  541. // Menu And ToolBar IDS
  542. #define CFX_ID_FIRST            0x7300
  543. #define CFX_ID_CLOSE            0x7301
  544. #define CFX_ID_EXPORTDATA        0x7302
  545. #define CFX_ID_EXPORTBITMAP        0x7303
  546. #define CFX_ID_LEGEND            0x7304
  547. #define CFX_ID_SERIESLEGEND        0x7305
  548. #define CFX_ID_TOOLBAR            0x7306
  549. #define CFX_ID_PALETTE            0x7307
  550. #define CFX_ID_PATTERN            0x7308
  551. #define CFX_ID_STATUS            0x7309
  552. #define CFX_ID_DATAEDITOR        0x730A
  553. #define CFX_ID_3D                0x730B
  554. #define CFX_ID_CLUSTER            0x730C
  555. #define CFX_ID_HORZGRID            0x730D
  556. #define CFX_ID_VERTGRID            0x730E
  557. #define CFX_ID_ZOOM                0x730F
  558. #define CFX_ID_GALLERY          0x7310
  559. #define CFX_ID_COLOR            0x7311
  560. #define CFX_ID_TOOLS            0x7312
  561. #define CFX_ID_PRINT            0x7313
  562. #define CFX_ID_HELPCONTENTS        0x7314
  563. #define CFX_ID_HELPHOWTOUSE        0x7315
  564. #define CFX_ID_EXPORTMETAFILE    0x7316
  565.  
  566. // Gallery types    
  567. #define CFX_ID_LINE                0x7350
  568. #define CFX_ID_BAR                0x7351
  569. #define CFX_ID_SPLINE            0x7352
  570. #define CFX_ID_MARK                0x7353
  571. #define CFX_ID_PIE                0x7354
  572. #define CFX_ID_AREA                0x7355
  573. #define CFX_ID_PARETO            0x7356
  574. #define CFX_ID_SCATTER            0x7357
  575. #define CFX_ID_HILOW            0x7358
  576. #define CFX_ID_SURFACE            0x7359
  577. #define CFX_ID_POLAR            0x735A
  578. #define CFX_ID_CUBE                0x735B
  579. #define CFX_ID_DOUGHNUT            0x735C
  580. #define CFX_ID_HORZBAR            0x735D
  581.     
  582. #define CFX_ID_DLGFIRST            0x7400
  583. #define CFX_ID_DLGLAST            0x74FF
  584.  
  585. #define CFX_ID_ROTATE            0x7400
  586. #define CFX_ID_OPTIONS            0x7401
  587. #define CFX_ID_EDITTITLES        0x7402
  588. #define CFX_ID_PAGESETUP        0x7403
  589. #define CFX_ID_DLGPRINT            0x7404
  590. #define CFX_ID_EXPORTFILE        0x7405
  591. #define CFX_ID_IMPORTFILE        0x7406
  592. #define CFX_ID_EXPORTTEMPLATE    0x7407
  593. #define CFX_ID_IMPORTTEMPLATE      0x7408
  594. #define CFX_ID_ABOUT            0x7409
  595. #define CFX_ID_GENERAL          0x740A
  596. #define CFX_ID_SERIES           0x740B
  597. #define CFX_ID_SCALE            0x740C
  598. #define CFX_ID_FONTS            0x740D
  599. #define CFX_ID_FONTLT            0x740E
  600. #define CFX_ID_FONTRT            0x740F
  601. #define CFX_ID_FONTTT            0x7410
  602. #define CFX_ID_FONTBT            0x7411
  603. #define CFX_ID_FONTXL            0x7412
  604. #define CFX_ID_FONTYL            0x7413
  605. #define CFX_ID_FONTFX            0x7414
  606. #define CFX_ID_FONTLY            0x7415
  607. #define CFX_ID_FONTVAL          0x7416
  608.  
  609. #define CFX_ID_LAST                0x74FF
  610.  
  611. // Reserved IDS
  612. #define CFX_ID_RESERVEDFIRST    0x7500
  613. #define CFX_ID_RESERVEDLAST        0x76FF
  614.  
  615. typedef CHART_STITEM far *CHART_STITEMP;
  616.  
  617. // CM_SHOWDIALOG Constants
  618. #define CDIALOG_EXPORTFILE        CFX_ID_EXPORTFILE
  619. #define CDIALOG_IMPORTFILE        CFX_ID_IMPORTFILE
  620. #define CDIALOG_WRITETEMPLATE    CFX_ID_EXPORTTEMPLATE
  621. #define CDIALOG_READTEMPLATE    CFX_ID_IMPORTTEMPLATE
  622. #define CDIALOG_PAGESETUP        CFX_ID_PAGESETUP
  623. #define CDIALOG_ABOUT            CFX_ID_ABOUT
  624. #define CDIALOG_OPTIONS            CFX_ID_OPTIONS
  625. #define CDIALOG_EDITTITLES        CFX_ID_EDITTITLES
  626. #define CDIALOG_FONTS            CFX_ID_FONTS
  627. #define CDIALOG_ROTATE            CFX_ID_ROTATE
  628. #define CDIALOG_GENERAL            CFX_ID_GENERAL
  629. #define CDIALOG_SERIES            CFX_ID_SERIES
  630. #define CDIALOG_SCALE            CFX_ID_SCALE
  631.  
  632. // CM_GETPAINTINFO Constants
  633. enum { CPI_GETDC, CPI_RELEASEDC, CPI_PIXELTOMARKER, CPI_MARKERTOPIXEL, CPI_VALUETOPIXEL, 
  634.        CPI_PIXELTOVALUE, CPI_POSITION, CPI_DIMENTIONS, CPI_PRINTINFO, CPI_SCROLLINFO, CPI_3DINFO, CPI_3DTO2D};
  635.  
  636. // StatusBar Item Styles
  637. #define CHART_STLEFT        0x0000
  638. #define CHART_STCENTER        0x0001
  639. #define CHART_STRIGHT        0x0002
  640.  
  641. // Styles for DataStyle (for VB 3.0 only)
  642. #define CHART_DS_SERLEGEND        0x00000001L
  643. #define CHART_DS_USETEXTASLEG    0x00000002L
  644. #define CHART_DS_USEDATEASLEG    0x00000004L
  645.  
  646. // Types DataType Property in VB 3.0
  647. #define CDT_STRING        0x0001
  648. #define CDT_NUMBER        0x0007
  649. #define CDT_NOTUSED        0xFFFF
  650.  
  651. #define CHART_MAXBOUNDFIELDS    16
  652.  
  653. #define CHART_E                    2.71828182846
  654.  
  655. #define __CHARTFX20__
  656. #endif
  657.  
  658. // VBX Defines
  659.  
  660. #ifndef __CHARTFX20VBXPARAMS__
  661.  
  662. // Definitions Needed to parse event params
  663. #define AFX_NUM_EVENTPARAM(type, lpParams)    (type FAR&)(**(type FAR* FAR*)lpParams)
  664. #define AFX_HLSTR_EVENTPARAM(lpParams)    (HLSTR FAR&)(*(HLSTR FAR*)lpParams)
  665. #define AFX_NUM_EVENTPARAMINDEX(type, lpParams, index) (type FAR&)(**((type FAR* FAR*)(lpParams) + index))
  666. #define AFX_HLSTR_EVENTPARAMINDEX(lpParams, index) (HLSTR FAR&)(*((HLSTR FAR*)(lpParams) + index))
  667.  
  668. // CN_LBUTTONDBLCLK , CN_RBUTTONDOWN
  669. // XPOS, YPOS, POINT, SERIES, RESERVED
  670. #define CNP_YPOS(l)        AFX_NUM_EVENTPARAMINDEX(int,l,3)
  671. #define CNP_XPOS(l)        AFX_NUM_EVENTPARAMINDEX(int,l,4)
  672.  
  673. // CN_CHANGEVALUE
  674. // VALUE, POINT, SERIES, RESERVED
  675. #define CNP_VALUE(l)    AFX_NUM_EVENTPARAMINDEX(double,l,3)
  676.  
  677. // CN_CHANGESTRING, CN_CHANGECOLOR, CN_CHANGEPATTERN
  678. // INDEX, TYPE , RESERVED
  679.  
  680. // CN_CHANGEPALETTE, CN_CHANGEFONT, CN_CHANGEPATTPAL
  681. // INDEX
  682.  
  683. // CN_MENU
  684. // PARAM,POINT,SERIES,RESERVED
  685. #define CNP_PARAM(l)    AFX_NUM_EVENTPARAMINDEX(int,l,3)
  686.  
  687. // CN_CHANGETYPE
  688. // NEWTYPE, RESERVED
  689. #define CNP_NEWTYPE(l)    AFX_NUM_EVENTPARAMINDEX(int,l,1)
  690.  
  691. // CN_SCROLL
  692. // SCROLLMSG, SCROLLPARAM, RESERVED
  693. #define CNP_SCROLLPARAM(l)    AFX_NUM_EVENTPARAMINDEX(int,l,1)
  694. #define CNP_SCROLLMSG(l)    AFX_NUM_EVENTPARAMINDEX(int,l,2)
  695.  
  696. // CN_GETLEGEND
  697. // INDEX, RESERVED
  698.  
  699. // CN_INTERNALCOMMAND, CN_USERCOMMAND
  700. // WPARAM, LPARAM, RESERVED
  701. #define CNP_LPARAM(l)        AFX_NUM_EVENTPARAMINDEX(long,l,1)
  702. #define CNP_WPARAM(l)        AFX_NUM_EVENTPARAMINDEX(int,l,2)
  703.  
  704. // CN_SHOWTOOLBAR
  705. // INDEX, RESERVED
  706.  
  707. // CN_PREPAINT, CN_POSTPAINT
  708. // WPAINT, HPAINT, LPAINT, RESERVED
  709. #define CNP_LPAINT(l)        AFX_NUM_EVENTPARAMINDEX(long,l,1)
  710. #define CNP_HPAINT(l)        AFX_NUM_EVENTPARAMINDEX(int,l,2)
  711. #define CNP_WPAINT(l)        AFX_NUM_EVENTPARAMINDEX(int,l,3)
  712.  
  713. // CN_PAINTMARKER
  714. // XMARKER, YMARKER, LPAINTMARKER, SERIES, POINT, RESERVED
  715. #define CNP_LPAINTMARKER(l)        AFX_NUM_EVENTPARAMINDEX(long,l,3)
  716. #define CNP_YMARKER(l)            AFX_NUM_EVENTPARAMINDEX(int,l,4)
  717. #define CNP_XMARKER(l)            AFX_NUM_EVENTPARAMINDEX(int,l,5)
  718.  
  719. // CN_LBUTTONDOWN, CN_LBUTTONUP, CN_RBUTTONUP, CN_RBUTTONDBLCLK, CN_MOUSEMOVE
  720. // XMOUSE, YMOUSE, RESERVED
  721. #define CNP_YMOUSE(l)        AFX_NUM_EVENTPARAMINDEX(int,l,1)
  722. #define CNP_XMOUSE(l)        AFX_NUM_EVENTPARAMINDEX(int,l,2)
  723.  
  724. // Various Events
  725. #define CNP_RESERVED(l)    AFX_NUM_EVENTPARAMINDEX(int,l,0)
  726. #define CNP_POINT(l)    AFX_NUM_EVENTPARAMINDEX(int,l,1)
  727. #define CNP_SERIE(l)    AFX_NUM_EVENTPARAMINDEX(int,l,2)
  728. #define CNP_SERIES(l)    AFX_NUM_EVENTPARAMINDEX(int,l,2)
  729. #define CNP_INDEX(l)    AFX_NUM_EVENTPARAMINDEX(int,l,1)
  730. #define CNP_TYPE(l)        AFX_NUM_EVENTPARAMINDEX(int,l,2)
  731.  
  732. // Return Value
  733. #define CNP_RETURNVALUE(lp,i)    (**(int FAR* FAR *) lp) = (int) (i)
  734.  
  735. #define __CHARTFX20VBXPARAMS__
  736. #endif
  737.  
  738. #ifndef __CHARTFX20VBXPROP__
  739.  
  740. // PROPERTIES
  741. #define CP_CTLNAME            0
  742. #define CP_INDEX            1
  743. #define CP_LEFT                2
  744. #define CP_TOP                3
  745. #define CP_WIDTH            4
  746. #define CP_HEIGHT            5
  747. #define CP_VISIBLE            6
  748. #define CP_PARENT            7
  749. #define CP_HWND                8
  750. #define CP_BORDERSTYLEOFF    9
  751. #define CP_ABOUT            10
  752. #define CP_TYPE                11
  753. #define CP_STYLE            12
  754. #define CP_NSERIES          13
  755. #define CP_NVALUES          14
  756. #define CP_OPENDATA            15
  757. #define CP_CLOSEDATA        16
  758. #define CP_VALUE            17
  759. #define CP_XVALUE            18
  760. #define CP_INIVALUE            19
  761. #define CP_CONST            20
  762. #define CP_THISCOLOR        21
  763. #define CP_COLOR            22
  764. #define CP_THISBKCOLOR        23
  765. #define CP_BKCOLOR            24
  766. #define CP_ADM_DLG          25
  767. #define CP_ADM                26
  768. #define CP_LGAP                27
  769. #define CP_RGAP                28
  770. #define CP_TGAP                29
  771. #define CP_BGAP                30
  772. #define CP_DECIMALS            31
  773. #define CP_POINTTYPE        32
  774. #define CP_SCHEME            33
  775. #define CP_STACKED            34
  776. #define CP_GRID                35
  777. #define CP_WALLWIDTH        36
  778. #define CP_PATTERN            37
  779. #define CP_BARHORZGAP        38
  780. #define CP_VIEWROT3D        39
  781. #define CP_VIEW3D            40
  782. #define CP_ANGLES3D            41
  783. #define CP_PIXFACTOR        42
  784. #define CP_LINEWIDTH        43
  785. #define CP_LINESTYLE        44
  786. #define CP_LINECOLOR        45
  787. #define CP_LINEBKCOLOR        46
  788. #define CP_FIXEDWIDTH        47
  789. #define CP_FIXEDSTYLE        48
  790. #define CP_FIXEDCOLOR        49
  791. #define CP_FIXEDBKCOLOR        50
  792. #define CP_FIXEDGAP            51
  793. #define CP_DBLCLK_DLG        52
  794. #define CP_DBLCLK           53
  795. #define CP_RIGCLK_DLG        54
  796. #define CP_RIGCLK           55
  797. #define CP_RGBBARHORZ        56
  798. #define CP_RGBBK            57
  799. #define CP_RGB2DBK            58
  800. #define CP_RGB3DBK            59
  801. #define CP_FONT_DLG         60
  802. #define CP_FONT                61
  803. #define CP_TITLE_DLG        62
  804. #define CP_TITLE            63
  805. #define CP_STATUS            64
  806. #define CP_SHOWSTATUS        65
  807. #define CP_LANGUAGE            66
  808. #define CP_HTEXT            67
  809. #define CP_LEGEND            68
  810. #define CP_SERLEG            69
  811. #define CP_KEYLEG            70
  812. #define CP_FIXLEG            71
  813. #define CP_YLEG                72
  814. #define CP_KEYSER            73
  815. #define CP_STATUSTEXT        74
  816. #define CP_EXPORTFILE        75
  817. #define CP_IMPORTFILE        76
  818. #define CP_WRITETEMPLATE    77
  819. #define CP_READTEMPLATE        78
  820. #define CP_CHARTSTATUS        79
  821. #define CP_RGBFONT            80
  822. #define CP_EDIT                81
  823. #define CP_COPYDATA            82
  824. #define CP_COPYBITMAP        83
  825. #define CP_PRINT            84
  826. #define CP_HFONT            85
  827. #define CP_THISSERIE        86
  828. #define CP_CHARTTYPE        87
  829. #define CP_CHART3D            88
  830. #define CP_TOOLBAR            89
  831. #define CP_PALETTEBAR        90
  832. #define CP_PATTERNBAR        91
  833. #define CP_THISPOINT        92
  834. #define CP_CUSTTOOL            93
  835. #define CP_HCTLWND            94
  836. #define CP_RETURNVALUE        95
  837. #define CP_RESERVED1        96
  838. #define CP_RESERVED2        97
  839. #define CP_RESERVED3        98
  840. #define CP_AUTOINC            99
  841. #define CP_THISVALUE        100
  842. #define CP_VERTGRIDGAP        101
  843. #define CP_XLEGTYPE            102
  844. #define CP_CONSTTYPE        103
  845. #define CP_ITEMWIDTH        104
  846. #define CP_ITEMSTYLE        105
  847. #define CP_ITEMCOLOR        106
  848. #define CP_DECIMALSNUM        107
  849. #define CP_SHOWDIALOG        108
  850. #define CP_TAG                109
  851. #define CP_LEGENDWIDTH        110
  852. #define CP_SCROLL            111
  853. #define CP_HELPCONTEXTID    112        // for VB 3.0 Only
  854. #define CP_BARBITMAP        113
  855. #define CP_MARKERSIZE        114
  856. #define CP_MARKERVOLUME        115
  857. #define CP_DEPTH            116
  858. #define CP_LIGHT            117
  859. #define CP_SHAPE            118
  860. #define CP_MULTITYPE        119
  861. #define CP_MULTISHAPE        120
  862. #define CP_GALLERYTOOL        121
  863. #define CP_CLEARLEGEND        122
  864. #define CP_MAXVALUES        123
  865. #define CP_REALTIMESTYLE    124
  866. #define CP_EXPORT            125
  867. #define CP_TBBITMAP            126
  868. #define CP_TBITEMID            127
  869. #define CP_TBITEMSTYLE        128
  870. #define CP_ENABLETBITEM        129
  871. #define CP_MULTIYAXIS        130
  872. #define CP_TOOLSTYLE        131
  873. #define CP_ZOOM                132
  874. #define CP_ITEMBKCOLOR        133
  875. #define CP_IMPORT            134
  876. #define CP_SEPARATESLICE    135
  877. #define CP_PAINTINFO        136
  878. #define CP_OPTIONS_DLG        137
  879. #define CP_TOOLSIZE            138
  880. #define CP_EXPORTSTR        139
  881. #define CP_IMPORTSTR        140
  882. #define CP_DATASOURCE        141        // for VB 3.0 Only
  883. #define CP_DATATYPE            142        // for VB 3.0 Only
  884. #define CP_DATASTYLE        143        // for VB 3.0 Only
  885. #define CP_RESERVED4        144
  886. #define CP_TOOLPOS            145
  887. #define CP_TYPEEX            146
  888. #define CP_STYLEEX            147
  889. #define CP_MOUSECAPTURE        148
  890. #define CP_LEGSTYLE            149
  891. #define CP_MULTILINESTYLE    150
  892. #define CP_CURRENTAXIS        151
  893. #define CP_ENABLED            152
  894. #define CP_CUSTOMTOOL        153
  895. #define CP_MULTIPOINT        154
  896.  
  897. #define __CHARTFX20VBXPROP__
  898. #endif
  899.  
  900. #ifdef __cplusplus 
  901. #endif 
  902.