home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic 4 Unleashed / Visual_Basic_4_Unleashed_SAMS_Publishing_1995.iso / chartfx / cfxvbx / chart2fx.bch < prev    next >
Encoding:
Text File  |  1995-01-22  |  55.0 KB  |  1,614 lines

  1. //--------------------------------------------------------
  2. // CHART2FX.BCH generated from CHART2FX.VBX by
  3. // VbxGen 1.0 - Borland International
  4. //--------------------------------------------------------
  5.  
  6. //--------------------------------------------------------
  7. // CHART2FX.BCH edited by Software Fx, Inc.
  8. // - Useful constants added
  9. // - NoRuntime Properties Removed
  10. // - Get-Only Properties Modified
  11. // - Set-Only Properties Modified
  12. //--------------------------------------------------------
  13.  
  14. // PATCH
  15. // There is an incompatibility between Borland C++ 4.0 and Chart FX 2.0
  16. // when the programmer tries to get array properties
  17. // Please don't change this define without specific directions of Software FX
  18.  
  19. // Please you must only use the GetProp*** and SetProp** functions defined in
  20. // TVbxChartFX20
  21. // This workaround (setting property 60) may not be supported in future
  22. // releases of Chart FX 2.0
  23.  
  24. extern "C" {
  25.  
  26. // Routines Provided
  27. HWND WINAPI chart_Create(long, long, HWND,int ,int ,int ,int ,int ,int ,UINT ,DWORD);
  28. long WINAPI chart_Send(HWND ,UINT ,WPARAM ,LPARAM);
  29. long WINAPI chart_OpenData(HWND, UINT, DWORD);
  30. BOOL WINAPI chart_CloseData(HWND ,UINT);
  31. long WINAPI chart_SetValue(HWND, int, int, double);
  32. long WINAPI chart_SetIniValue(HWND ,int, int, double);
  33. long WINAPI chart_SetXvalue(HWND , int ,int ,double);
  34. long WINAPI chart_SetConst(HWND, int, double);
  35. long WINAPI chart_SetColor(HWND, int, DWORD, BOOL);
  36. void WINAPI chart_SetAdm(HWND, int, double);
  37. long WINAPI chart_SetStripe(HWND, int, double, double, DWORD);
  38. long WINAPI chart_SetStatusItem(HWND, int, BOOL, UINT, BOOL, int, int, int, DWORD);
  39. double WINAPI chart_Get(HWND, long, UINT);
  40. void WINAPI chart_Get2(HWND, long, UINT, double far *);
  41. double WINAPI chart_GetEx(HWND, int, int, UINT);
  42. void WINAPI chart_Get2Ex(HWND, int, int, UINT, double far *);
  43. void WINAPI chart_Paint(HWND, HDC, int, int, int, int, UINT, LPPAINTSTRUCT);
  44. long WINAPI chart_OpenDataEx(HWND ,UINT , int, int);
  45. double WINAPI chart_GetAdm(HWND, int);
  46. void WINAPI chart_GetAdm2(HWND, int, double far *);
  47.  
  48. // Notification Messages
  49. #define CN_LBUTTONDBLCLK    0x0000
  50. #define CN_RBUTTONDOWN        0x0001
  51. #define CN_CHANGEVALUE        0x0002
  52. #define CN_CHANGESTRING        0x0003
  53. #define CN_CHANGECOLOR        0x0004
  54. #define CN_DESTROY            0x0005        // You will not receive this event if the chart is a child (i.e. VBX)
  55. #define CN_POSTDESTROY        CN_DESTROY    // Obsolete
  56. #define CN_READFILE            0x0006
  57. #define CN_CHANGEPALETTE    0x0007
  58. #define CN_CHANGEFONT        0x0008
  59. #define CN_READTEMPLATE        0x0009
  60. #define CN_CHANGEPATTERN    0x000A
  61. #define CN_CHANGEPATTPAL    0x000B
  62. #define CN_MENU                0x000C
  63. #define CN_CHANGETYPE        0x000D
  64. #define CN_SCROLL            0x000E        
  65. #define CN_GETLEGEND        0x000F        
  66. #define CN_INTERNALCOMMAND    0x0010
  67. #define CN_USERCOMMAND        0x0011        // Using the DLL you will not receive this event
  68. #define CN_SHOWTOOLBAR        0x0012
  69. #define CN_PREPAINT            0x0013
  70. #define CN_POSTPAINT        0x0014
  71. #define CN_PAINTMARKER        0x0015
  72. #define CN_LBUTTONDOWN        0x0016
  73. #define CN_LBUTTONUP        0x0017
  74. #define CN_RBUTTONUP        0x0018
  75. #define CN_RBUTTONDBLCLK    0x0019
  76. #define CN_MOUSEMOVE        0x001A
  77.  
  78. #define CN_KILLFOCUS        0xFFFE
  79. #define CN_SETFOCUS            0xFFFF
  80. //
  81.  
  82. // Notification Codes
  83. enum { CCC_SERIE, CCC_SERIEBK, CCC_ONE, CCC_ONEBK, CCC_BARHORZ, CCC_BKGND, CCC_2DBK, CCC_3DBK };
  84. enum { CCS_LEGEND, CCS_SERLEGEND };
  85. enum { CCP_SERIE, CCP_ONE };
  86.  
  87. // Constants
  88.  
  89. // Gallery Types
  90. enum { LINE = 1, BAR, SPLINE, MARK, PIE, AREA, PARETO, SCATTER, HILOW, SURFACE, POLAR, CUBE, DOUGHNUT};
  91.  
  92. // Chart Types 
  93. #define CT_3D                0x00000100L
  94. #define CT_HORZ              0x00000200L
  95. #define CT_TOOL                0x00000400L
  96. #define CT_PALETTE            0x00000800L
  97. #define CT_LEGEND            0x00001000L
  98. #define CT_TOGETHER            0x00002000L            // Obsolete Use CM_MARKERVOLUME
  99. #define CT_POINTS            0x00004000L
  100. #define CT_SHOWZERO            0x00008000L
  101. #define CT_EACHBAR            0x00010000L
  102. #define CT_CLUSTER            0x00020000L
  103. #define CT_SHOWDATA            0x00040000L
  104. #define CT_DLGGRAY            0x00080000L
  105. #define CT_PATTERN            0x00100000L
  106. #define CT_SHOWVALUES        0x00200000L
  107. #define CT_MENU                0x00400000L
  108. #define CT_SHOWLINES        0x00800000L        
  109. #define CT_SCATTERLINE        CT_SHOWLINES
  110. #define CT_COLORLINE        0x01000000L
  111. #define CT_NOAREALINE        0x02000000L
  112. #define CT_HILOWSTD            CT_NOAREALINE
  113. #define CT_NOBORDERS        0x04000000L
  114. #define CT_PIEVALUES        0x08000000L
  115. #define CT_TRACKMOUSE        0x10000000L
  116. #define CT_EVENSPACING        0x20000000L
  117. #define CT_SERLEGEND        0x40000000L
  118. #define CT_PAINTMARKER        0x80000000L
  119.  
  120. // Extended types
  121. #define CTE_STEPLINES        0x00000001L
  122. #define CTE_SMOOTH            0x00000002L
  123. #define CTE_SQUAREPIE        0x00000004L 
  124. #define CTE_NOLEGINVALIDATE    0x00000008L
  125. #define CTE_ACTMINMAX        0x00000010L
  126. #define CTE_NOTITLESHADOW    0x00000020L
  127. #define CTE_CREATELEGENDS    0x00000040L
  128. #define CTE_NOCROSS            0x00000080L
  129. #define CTE_LOGBREAK        0x00000100L
  130.  
  131. // Extended Types
  132.  
  133. #define CS_CHLINE            0x00000001L
  134. #define CS_CHBAR            0x00000002L
  135. #define CS_CHSPLINE            0x00000004L
  136. #define CS_CHMARK            0x00000008L
  137. #define CS_CHPIE            0x00000010L
  138. #define CS_CHAREA            0x00000020L
  139. #define CS_CHPARETO            0x00000040L
  140. #define CS_CHSCATTER        0x00000080L
  141. #define CS_CHHILOW            0x00000100L
  142. #define CS_MULTITYPE        0x00000800L
  143. #define CS_CHDEFAULT        0x00000FFFL
  144. #define CS_MINMAX            0x00001000L
  145. #define CS_3D                0x00002000L
  146. #define CS_HORZ                0x00004000L
  147. #define CS_TOGETHER            0x00008000L
  148. #define CS_SHOWPOINT        0x00010000L
  149. #define CS_SCALE            0x00020000L
  150. #define CS_TITLES            0x00040000L
  151. #define CS_FONTS            0x00080000L
  152. #define CS_EDITABLE            0x00100000L
  153. #define CS_FILEEXPORT        0x00200000L
  154. #define CS_FILEIMPORT        0x00400000L
  155. #define CS_SCROLLABLE        0x00800000L
  156. #define CS_PRINTABLE        0x01000000L
  157. #define CS_3DVIEW            0x02000000L
  158. #define CS_GRID                0x04000000L
  159. #define CS_RESIZEABLE        0x08000000L
  160. #define CS_TEMPLATE            0x10000000L
  161. #define CS_COPY                0x20000000L
  162. #define CS_CLOSEABLE        0x40000000L
  163. #define CS_LOGSCALE            0x80000000L
  164. #define CS_ALL                0xFFFFFFFFL
  165.  
  166. // Extended Styles
  167. #define CSE_NOSEPARATE        0x00000001L        // Do not let the user to separate slices
  168. #define CSE_NOLASTPAGE        0x00000002L     // do not remember the last tab (options dialog)
  169.  
  170. // chart_Send Constants
  171.  
  172. // Messages
  173. #define CM_SETTYPE                0x0001
  174. #define CM_SETSTYLE                0x0002
  175. #define CM_SETGAP                0x0003
  176. #define CM_SETDECIMALS            0x0004
  177. #define CM_SETPOINTTYPE            0x0005
  178. #define CM_SETSCHEME            0x0006
  179. #define CM_SETSTACKED            0x0007
  180. #define CM_SETGRID                0x0008
  181. #define CM_SETWALLWIDTH            0x0009
  182. #define CM_SETCOLOR                0x000A
  183. #define CM_SETBKCOLOR            0x000B
  184. #define CM_SETPATTERN            0x000C
  185. #define CM_SETBARHORZGAP        0x000D
  186. #define CM_SET3DVIEW            0x000E
  187. #define CM_SETPIXFACTOR            0x000F
  188. #define CM_SETLINEWIDTH            0x0010
  189. #define CM_SETLINESTYLE            0x0011
  190. #define CM_SETLINECOLOR            0x0012
  191. #define CM_SETFIXEDWIDTH        0x0013
  192. #define CM_SETFIXEDSTYLE        0x0014
  193. #define CM_SETFIXEDCOLOR        0x0015
  194. #define CM_SETFIXEDGAP            0x0016
  195. #define CM_SETDBLCLK            0x0017
  196. #define CM_SETRIGCLK            0x0018
  197. #define CM_SETRGBBARHORZ        0x0019
  198. #define CM_SETRGBBK                0x001A
  199. #define CM_SETRGB2DBK            0x001B
  200. #define CM_SETRGB3DBK            0x001C
  201. #define CM_SETFONT                0x001D
  202. #define CM_SETSTATUS            0x001E
  203. #define CM_SHOWSTATUS            0x001F
  204. #define CM_SETLANGUAGE            0x0020
  205. #define CM_SETTITLE                0x0021
  206. #define CM_GETTITLE                0x0022
  207. #define CM_SETHTEXT                0x0023
  208. #define CM_GETHTEXT                0x0024
  209. #define CM_SETLEGEND            0x0025
  210. #define CM_SETSERLEG            0x0026
  211. #define CM_SETKEYLEG            0x0027
  212. #define CM_SETFIXLEG            0x0028
  213. #define CM_SETYLEG                0x0029
  214. #define CM_SETKEYSER            0x002A
  215. #define CM_GETKEYSER            0x002B
  216. #define CM_GETLEGEND            0x002C
  217. #define CM_GETSERLEG            0x002D
  218. #define CM_GETKEYLEG            0x002E
  219. #define CM_GETFIXLEG            0x002F
  220. #define CM_GETYLEG                0x0030
  221. #define CM_SETHWNDMSG            0x0031
  222. #define CM_SETID                0x0032
  223. #define CM_SETSTATUSTEXT        0x0033
  224. #define CM_GETLAST                0x0034
  225. #define CM_EXPORTFILE            0x0035
  226. #define CM_IMPORTFILE            0x0036
  227. #define CM_NEW                  0x0037
  228. #define CM_WRITETEMPLATE        0x0038
  229. #define CM_READTEMPLATE            0x0039
  230. #define CM_GETSTATUS            0x003A
  231. #define CM_SETRGBFONT            0x003B
  232. #define CM_GETEDIT                0x003C
  233. #define CM_COPYDATA                0x003D
  234. #define CM_COPYBITMAP            0x003E
  235. #define CM_PRINT                0x003F
  236. #define CM_SETHFONT                0x0040
  237. #define CM_SETFIXEDBKCOLOR        0x0041
  238. #define CM_GETLASTEXTRA            0x0042
  239. #define CM_SETLINEBKCOLOR        0x0043
  240. #define CM_SETTOOL                0x0044
  241. #define CM_GETSERIEPOINT        0x0045
  242. #define CM_SETVERTGRIDGAP        0x0046
  243. #define CM_SETXLEGTYPE            0x0047            // Obsolete (Keeped for compatibility)
  244. #define CM_LEGSTYLE                0x0047
  245. #define CM_SETCONSTTYPE            0x0048
  246. #define CM_SETITEMWIDTH            0x0049
  247. #define CM_SETITEMCOLOR            0x004A
  248. #define CM_SETITEMSTYLE            0x004B
  249. #define CM_SHOWDIALOG            0x004C
  250. #define CM_SETLEGENDWIDTH        0x004D            // Obsolete (Keeped for compatibility)
  251. #define CM_TOOLSIZE                0x004D
  252. #define CM_SCROLL                0x004E
  253. #define CM_BARBITMAP            0x004F
  254. #define CM_MARKERSIZE            0x0050
  255. #define CM_MARKERVOLUME            0x0051
  256. #define CM_DEPTH                0x0052
  257. #define CM_LIGHT                0x0053
  258. #define CM_SHAPE                0x0054
  259. #define CM_MULTITYPE            0x0055
  260. #define CM_MULTISHAPE            0x0056
  261. #define CM_GALLERYTOOL            0x0057
  262. #define CM_CLEARLEGEND            0x0058
  263. #define CM_MAXVALUES            0x0059
  264. #define CM_REALTIMESTYLE        0x005A
  265. #define CM_EXPORT                0x005B
  266. #define CM_TBBITMAP                0x005C
  267. #define CM_TBITEMID                0x005D
  268. #define CM_TBITEMSTYLE            0x005E            
  269. #define CM_ENABLETBITEM            0x005F
  270. #define CM_MULTIYAXIS            0x0060
  271. #define CM_TOOLSTYLE            0x0061
  272. #define CM_ZOOM                    0x0062
  273. #define CM_SETITEMBKCOLOR        0x0063
  274. #define CM_IMPORT                0x0064
  275. #define CM_SEPARATESLICE        0x0065
  276. #define CM_GETPAINTINFO            0x0066
  277. #define CM_TOOLPOS                0x0067
  278. #define CM_MULTIPOINT            0x0068
  279. #define CM_EXTTYPE                0x0069
  280. #define CM_EXTSTYLE                0x006A
  281. #define CM_MOUSECAPTURE            0x006B
  282. #define CM_MULTILINESTYLE        0x006C
  283. #define CM_CURRENTAXIS            0x006D
  284.  
  285. // CM_SETSTYLE, CM_SETTYPE Constants
  286. enum { CHART_ADD, CHART_SET, CHART_REMOVE };
  287.  
  288. // CM_SETSTACKED Constants
  289. enum { CHART_NOSTACKED, CHART_STACKED, CHART_STACKED100 };
  290.  
  291. // CM_SETGRID Constants
  292. enum { CHART_NOGRID, CHART_HORZGRID, CHART_VERTGRID, CHART_BOTHGRID, CHART_GRIDY2};
  293.  
  294. // CM_SEPOINTTYPE Constants
  295. enum { CHART_NONEMK, CHART_RECTMK, CHART_CIRCLEMK, CHART_TRIANGLEMK, CHART_MARBLEMK, CHART_CUBEMK, CHART_MANYMK };
  296.  
  297. // CM_SETTITLE Constants
  298. enum { CHART_LEFTTIT, CHART_RIGHTTIT, CHART_TOPTIT, CHART_BOTTOMTIT };
  299.  
  300. // CM_SETFONT Constants
  301. enum { CHART_LEFTFT, CHART_RIGHTFT, CHART_TOPFT, CHART_BOTTOMFT, CHART_XLEGFT, CHART_YLEGFT, CHART_FIXEDFT, CHART_LEGENDFT, CHART_VALUESFT, CHART_POINTFT };
  302.  
  303. // CM_SETDBLCLK, CM_SETRIGCLK Constants
  304. enum { CHART_BALLOONCLK, CHART_DIALOGCLK, CHART_NONECLK, CHART_MENUCLK };
  305.  
  306. // CM_SETGAP Constants
  307. enum { CHART_LEFTGAP, CHART_RIGHTGAP, CHART_TOPGAP, CHART_BOTTOMGAP, CHART_ALLGAP };
  308.  
  309. // Colors    
  310. #define CHART_TRANSPARENT 0x80000000L
  311.  
  312. enum { CHART_WHITE=1, CHART_BLACK, CHART_LTGRAY, CHART_DKGRAY, CHART_RED, CHART_DKRED, CHART_BLUE,
  313.        CHART_DKBLUE, CHART_GREEN, CHART_DKGREEN, CHART_CYAN, CHART_DKCYAN, CHART_YELLOW,
  314.        CHART_DKYELLOW, CHART_VIOLET, CHART_DKVIOLET };
  315.  
  316. // CM_SETITEMSTYLE, CM_SETLINESTYLE, CM_SETFIXEDSTYLE Constants
  317. enum { CHART_SOLID, CHART_DASH, CHART_DOT, CHART_DASHDOT, CHART_DASHDOTDOT };
  318.  
  319. // CM_SETSCHEME Constants
  320. enum { CHART_CSSOLID, CHART_CSBWPATTERN, CHART_CSPATTERN };
  321.  
  322. // chart_SetColor Types
  323. enum { CHART_FGROUND, CHART_BGROUND };
  324.  
  325. // chart_Get Constants
  326. enum { CHART_GVALUES, CHART_GINIVALUES, CHART_GXVALUES };
  327.  
  328. // CM_SETLEGSTYLE Constants
  329. #define CL_NOTCLIPPED        0x0001
  330. #define CL_NOTCHANGECOLOR    0x0002
  331. #define CL_HIDE                0x0004        // Obsolete (use CL_HIDEXLEG)
  332. #define CL_HIDEXLEG            0x0004
  333. #define CL_FORCESERLEG        0x0008
  334. #define CL_GETLEGEND        0x0010
  335. #define CL_HIDEYLEG            0x0020
  336. #define CL_2LEVELS          0x0040
  337. #define CL_VERTXLEG         0x0080
  338. #define CL_SHOWZLEG            0x0100 
  339. #define CL_PIELEGEND        0x0200
  340. #define CL_SINGLELINE        0x0400
  341.  
  342. // CM_SETCONSTTYPE Constants
  343. #define CC_HIDETEXT            0x0001  
  344. #define CC_HIDE             0x0002  
  345.  
  346. // CM_SETITEM* {STYLE | COLOR | BKCOLOR | WIDTH}
  347. enum { CI_HORZGRID, CI_VERTGRID, CI_2DLINE, CI_FIXED, CI_LOOPPOS, CI_HORZGRID2 };
  348.  
  349. #define CHART_PS_TRANSPARENT    0x4000
  350.  
  351. // CM_SETDECIMALS Constants
  352. enum { CD_ALL, CD_VALUES, CD_YLEG, CD_XLEG, CD_YLEG2 };
  353.  
  354. // CM_GETSTATUS Constants
  355. #define CHART_GSVALUES        0x00000001L
  356. #define CHART_GSLEGENDS        0x00000002L
  357. #define CHART_GSCOLORS        0x00000004L
  358. #define CHART_GSPATTERNS    0x00000008L
  359. #define CHART_GSPALETTE        0x00000010L
  360. #define CHART_GSPATTPAL        0x00000020L
  361. #define CHART_GSREADTEMP    0x00000040L
  362. #define CHART_GSREADFILE    0x00000080L
  363. #define CHART_GSGALLERY        0x00000100L
  364. #define CHART_GSOPTIONS        0x00000200L
  365.  
  366. // CM_SETTOOL Constants
  367. #define CST_IMPORT            0x00000001L
  368. #define CST_EXPORT            0x00000002L
  369. #define CST_FILE            (CST_IMPORT | CST_EXPORT)
  370. #define CST_COPYBITMAP        0x00000004L
  371. #define CST_COPYDATA        0x00000008L
  372. #define CST_COPY            (CST_COPYBITMAP | CST_COPYDATA)
  373. #define CST_PRINT            0x00000010L
  374. #define CST_FILEEDIT        (CST_FILE | CST_COPY | CST_PRINT)
  375. #define CST_SPACE1            0x00000020L
  376. #define CST_GALLERY            0x00000040L
  377. #define CST_SPACECOMBO        0x00000080L
  378. #define CST_COLOR            0x00000100L
  379. #define CST_SPACE2            0x00000200L
  380. #define CST_3D                0x00000400L
  381. #define CST_ROTATE            0x00000800L
  382. #define CST_CLUSTER            0x00001000L
  383. #define CST_ZOOM            0x00002000L
  384. #define CST_VIEW            (CST_3D | CST_ROTATE | CST_CLUSTER | CST_ZOOM)
  385. #define CST_SPACE3            0x00004000L
  386. #define CST_LEGEND            0x00008000L
  387. #define CST_SERLEGEND        0x00010000L
  388. #define CST_VGRID            0x00020000L
  389. #define CST_HGRID            0x00040000L
  390. #define CST_LEGGRID            (CST_LEGEND | CST_SERLEGEND | CST_VGRID | CST_HGRID)
  391. #define CST_SPACE4            0x00080000L
  392. #define CST_TITLES            0x00100000L
  393. #define CST_FONTS            0x00200000L
  394. #define CST_TOOLS            0x00400000L
  395. #define CST_OPTIONS            0x00800000L
  396. #define CST_OTHER            (CST_TITLES | CST_FONTS | CST_TOOLS | CST_OPTIONS)
  397.  
  398. // CM_GALLERYTOOL Constants
  399. #define CSG_LINE            0x00000001L
  400. #define CSG_BAR                0x00000002L
  401. #define CSG_SPLINE            0x00000004L
  402. #define CSG_MARK            0x00000008L
  403. #define CSG_PIE                0x00000010L
  404. #define CSG_AREA            0x00000020L
  405. #define CSG_PARETO            0x00000040L
  406. #define CSG_SCATTER            0x00000080L
  407. #define CSG_HILOW            0x00000100L
  408. #define CSG_SURFACE            0x00000200L
  409. #define CSG_POLAR            0x00000400L
  410. #define CSG_CUBE            0x00000800L
  411. #define CSG_DOUGHNUT        0x00001000L
  412. #define CSG_BARHORZ            0x00002000L
  413. #define CSG_ALL                0xFFFFFFFFL
  414.             
  415. // Fonts Constants
  416. #define CF_BOLD                0x00000100L
  417. #define CF_ITALIC            0x00000200L
  418. #define CF_UNDERLINE        0x00000400L
  419. #define CF_STRIKEOUT        0x00000800L
  420. #define CF_FDONTCARE        0x00000000L
  421. #define CF_FROMAN            0x00001000L
  422. #define CF_FSWISS            0x00002000L
  423. #define CF_FMODERN            0x00003000L
  424. #define CF_FSCRIPT            0x00004000L
  425. #define CF_FDECORATIVE        0x00005000L
  426. #define CF_ARIAL            0x00000000L
  427. #define CF_COURIER            0x00010000L
  428. #define CF_COURIERNEW        0x00020000L
  429. #define CF_HELVETICA        0x00030000L
  430. #define CF_MODERN            0x00040000L
  431. #define CF_ROMAN            0x00050000L
  432. #define CF_SCRIPT            0x00060000L
  433. #define CF_SYMBOL            0x00070000L
  434. #define CF_TIMES            0x00080000L
  435. #define CF_TIMESNEWR        0x00090000L
  436. #define CF_WINGDINGS        0x000A0000L
  437.  
  438. // chart_OpenData Constants
  439. #define COD_VALUES                1
  440. #define COD_CONSTANTS            2
  441. #define COD_COLORS                3
  442. #define COD_STRIPES                4
  443. #define COD_INIVALUES            5
  444. #define COD_XVALUES                6
  445. #define COD_STATUSITEMS            7
  446.  
  447. // OpenData and CloseData Actions
  448. #define COD_SCROLLLEGEND        0x4000
  449. #define COD_NOINVALIDATE        0x2000
  450. #define COD_SMOOTH                0x1000
  451. #define COD_REMOVE                0x0800
  452. #define COD_ADDPOINTS            0x0400
  453. #define COD_REALTIMESCROLL        0x0300        // INCLUDES COD_REALTIME
  454. #define COD_REALTIME            0x0100
  455. #define COD_RESETMINMAX            0x0080
  456.  
  457. #define COD_UNKNOWN                0xffff
  458. #define COD_UNCHANGE            0
  459.  
  460. #define CHART_HIDDEN 3.402823466e+38F        // Same as FLT_MAX
  461.                      
  462. // chart_SetAdm,chart_GetAdm Constants
  463. enum { CSA_MIN, CSA_MAX, CSA_GAP, CSA_SCALE, CSA_YLEGGAP, CSA_PIXXVALUE, CSA_XMIN, CSA_XMAX, CSA_XGAP, CSA_LOGBASE, 
  464.        CSA_MIN2, CSA_MAX2, CSA_GAP2, CSA_SCALE2, CSA_XSCALE, CSA_LOGBASE2, CSA_LOGBASEX }; 
  465.  
  466. // chart_OpenData - chart_SetValue, ... return values
  467. #define CR_OUTRANGE                -1
  468. #define CR_NOOPEN                -2
  469. #define CR_FAIL                    -3
  470. #define CR_INVALID                -4
  471. #define CR_BADCODE                -5
  472. #define CR_SUCCESS                0
  473. #define CR_NEW                    1
  474. #define CR_KEEPALL                2
  475. #define CR_LOSTLAST                3
  476.  
  477. // StatusBar Structure
  478. typedef struct tagSTITEM {
  479.     LPSTR sText;                // NULL -> no Text 
  480.     UINT wIdm;
  481.     BOOL bFrame;
  482.     int nWidth;                    // Width (pix)
  483.     int nMin;                    // Minimum width
  484.     int nDesp;                    // offset
  485.     DWORD dwStyle;
  486. } CHART_STITEM;
  487.  
  488. // 3D point
  489. typedef struct {
  490.             int x;
  491.             int y;
  492.             int z;
  493.         } POINT3D;
  494.  
  495. typedef POINT3D far *LPPOINT3D;
  496.  
  497. // HILOW Constants
  498.  
  499. // Hi-Low-Close
  500. enum { HLC_LOW, HLC_CLOSE, HLC_HIGH };
  501. // Open-Hi-Low-Close
  502. enum { OHLC_LOW, OHLC_OPEN, OHLC_CLOSE, OHLC_HIGH };
  503.  
  504. // CM_CLEARLEGEND values
  505. enum { CHART_LEGEND, CHART_SERLEG, CHART_KEYLEG, CHART_KEYSER, CHART_FIXLEG, CHART_YLEG };
  506.  
  507. // CM_REALTIMESTYLE values
  508. #define CRT_LOOPPOS            0x0001
  509. #define CRT_NOWAITARROW        0x0002
  510.  
  511. // CM_EXPORT,CM_IMPORT values
  512. enum { CHART_DATA, CHART_BITMAP, CHART_METAFILE, CHART_CFXFILE, CHART_CFXTEMPLATE,
  513.        CHART_INTERNALFILE, CHART_INTERNALTEMPLATE };
  514.  
  515. // chart_Paint Modes
  516. #define CPAINT_BKGND        0x0002
  517. #define CPAINT_PRINT        0x0001
  518.                                  
  519.  
  520. // CM_TOOLSTYLE & CM_TOOLSIZE values
  521. enum { CTOOL_LEGEND, CTOOL_SERLEGEND, CTOOL_TB};
  522. #define CTOOL_OPTIONS        0x2000
  523. #define CTOOL_MOVE            0x4000
  524.  
  525. // CM_TBBUTTONSTYLE values
  526. #define CTBS_BUTTON            0x0001        // this entry is button
  527. #define CTBS_SEPARATOR        0x0002        // this entry is a separator
  528. #define CTBS_MENU            0x0004        // Displays a menu (ID = menu)
  529. #define CTBS_ICONCOMBO        0x0008        // internal combo (Gallery & Color)
  530. #define CTBS_HWND            0x0088        // External Window     (ID = handle)
  531. #define CTBS_DESTROY        0x0010        // Destroy External Window when Destroyed
  532. #define CTBS_REPEAT            0x0800        // AutoRepeat button
  533. #define CTBS_GROUP            0x1000        // Belongs to the current group
  534. #define CTBS_2STATE            0x2000        // Two State Button
  535. #define CTBS_GROUP2STATE    0x3000        // Two State Button that belongs to the current group
  536. #define CTBS_HEAD            0x4000        // First Button of a group (New Group)
  537.  
  538. // Styles for tools CM_TOOLSTYLE
  539. #define CTS_HIDEFOCUS        0x00008000    // Tool bar disappear when not active
  540. #define CTS_WHITELINE        0x00010000    // Draw White Line (Shadow)
  541. #define CTS_DELIMITER        0x00020000    // Draw Delimiter/Border when Child
  542. #define CTS_SIZEABLE        0x00040000    // Sizeable when child
  543. #define CTS_HORZLAYER        0x00080000    // Layerable when Horizontal
  544. #define CTS_VERTLAYER        0x00100000    // Layerable when Vertical
  545. #define CTS_SIZELAYER        0x00200000  // Sizeable when Layered
  546. #define CTS_DBLCLKS            0x00400000    // Accept DBlClks (To Dock-Undock)
  547. #define CTS_DOCKABLE        0x00800000    // Dockable
  548. #define CTS_SPLITTER        0x01000000    // Draw Splitter
  549. #define CTS_3DFRAME            0x02000000    // Draw 3D Frame
  550. #define CTS_BORDERLAYER        0x04000000    // Draw LayerBorder Always
  551. #define CTS_BORDERIFLAYER    0x08000000    // Draw LayerBorder when layered
  552.  
  553. // Positions for tools (CM_TOOLPOS)
  554. #define CTP_TOP                0x0000
  555. #define CTP_LEFT            0x0001
  556. #define CTP_BOTTOM            0x0002
  557. #define CTP_RIGHT            0x0003
  558. #define CTP_FIXED            0x0004
  559. #define CTP_FLOAT            0x7FFF
  560. #define CTP_SWITCH            0x7FFE
  561.  
  562. // Tools Options
  563. // Legend Options
  564. #define CHART_LWORDBREAK        0x00000001
  565. #define CHART_LSKIPEMPTY        0x00000002
  566. #define CHART_LSHOWMENU            0x00000004
  567. #define CHART_LOPTIONSDLG        0x00000008
  568. #define CHART_LRIGHTALIGN        0x00000010
  569. #define CHART_LNOCOLOR            0x00000020
  570.  
  571. // Toolbar options
  572. #define CHART_TBBALLOON            0x00000001
  573. #define CHART_TBSTANDARD        0x00000002
  574. #define CHART_TBNOTOOLTIPS        0x00000004
  575.  
  576. // Menu And ToolBar IDS
  577. #define CFX_ID_FIRST            0x7300
  578. #define CFX_ID_CLOSE            0x7301
  579. #define CFX_ID_EXPORTDATA        0x7302
  580. #define CFX_ID_EXPORTBITMAP        0x7303
  581. #define CFX_ID_LEGEND            0x7304
  582. #define CFX_ID_SERIESLEGEND        0x7305
  583. #define CFX_ID_TOOLBAR            0x7306
  584. #define CFX_ID_PALETTE            0x7307
  585. #define CFX_ID_PATTERN            0x7308
  586. #define CFX_ID_STATUS            0x7309
  587. #define CFX_ID_DATAEDITOR        0x730A
  588. #define CFX_ID_3D                0x730B
  589. #define CFX_ID_CLUSTER            0x730C
  590. #define CFX_ID_HORZGRID            0x730D
  591. #define CFX_ID_VERTGRID            0x730E
  592. #define CFX_ID_ZOOM                0x730F
  593. #define CFX_ID_GALLERY          0x7310
  594. #define CFX_ID_COLOR            0x7311
  595. #define CFX_ID_TOOLS            0x7312
  596. #define CFX_ID_PRINT            0x7313
  597. #define CFX_ID_HELPCONTENTS        0x7314
  598. #define CFX_ID_HELPHOWTOUSE        0x7315
  599. #define CFX_ID_EXPORTMETAFILE    0x7316
  600.  
  601. // Gallery types    
  602. #define CFX_ID_LINE                0x7350
  603. #define CFX_ID_BAR                0x7351
  604. #define CFX_ID_SPLINE            0x7352
  605. #define CFX_ID_MARK                0x7353
  606. #define CFX_ID_PIE                0x7354
  607. #define CFX_ID_AREA                0x7355
  608. #define CFX_ID_PARETO            0x7356
  609. #define CFX_ID_SCATTER            0x7357
  610. #define CFX_ID_HILOW            0x7358
  611. #define CFX_ID_SURFACE            0x7359
  612. #define CFX_ID_POLAR            0x735A
  613. #define CFX_ID_CUBE                0x735B
  614. #define CFX_ID_DOUGHNUT            0x735C
  615. #define CFX_ID_HORZBAR            0x735D
  616.     
  617. #define CFX_ID_DLGFIRST            0x7400
  618. #define CFX_ID_DLGLAST            0x74FF
  619.  
  620. #define CFX_ID_ROTATE            0x7400
  621. #define CFX_ID_OPTIONS            0x7401
  622. #define CFX_ID_EDITTITLES        0x7402
  623. #define CFX_ID_PAGESETUP        0x7403
  624. #define CFX_ID_DLGPRINT            0x7404
  625. #define CFX_ID_EXPORTFILE        0x7405
  626. #define CFX_ID_IMPORTFILE        0x7406
  627. #define CFX_ID_EXPORTTEMPLATE    0x7407
  628. #define CFX_ID_IMPORTTEMPLATE      0x7408
  629. #define CFX_ID_ABOUT            0x7409
  630. #define CFX_ID_GENERAL          0x740A
  631. #define CFX_ID_SERIES           0x740B
  632. #define CFX_ID_SCALE            0x740C
  633. #define CFX_ID_FONTS            0x740D
  634. #define CFX_ID_FONTLT            0x740E
  635. #define CFX_ID_FONTRT            0x740F
  636. #define CFX_ID_FONTTT            0x7410
  637. #define CFX_ID_FONTBT            0x7411
  638. #define CFX_ID_FONTXL            0x7412
  639. #define CFX_ID_FONTYL            0x7413
  640. #define CFX_ID_FONTFX            0x7414
  641. #define CFX_ID_FONTLY            0x7415
  642. #define CFX_ID_FONTVAL          0x7416
  643.  
  644. #define CFX_ID_LAST                0x74FF
  645.  
  646. // Reserved IDS
  647. #define CFX_ID_RESERVEDFIRST    0x7500
  648. #define CFX_ID_RESERVEDLAST        0x76FF
  649.  
  650. typedef CHART_STITEM far *CHART_STITEMP;
  651.  
  652. // CM_SHOWDIALOG Constants
  653. #define CDIALOG_EXPORTFILE        CFX_ID_EXPORTFILE
  654. #define CDIALOG_IMPORTFILE        CFX_ID_IMPORTFILE
  655. #define CDIALOG_WRITETEMPLATE    CFX_ID_EXPORTTEMPLATE
  656. #define CDIALOG_READTEMPLATE    CFX_ID_IMPORTTEMPLATE
  657. #define CDIALOG_PAGESETUP        CFX_ID_PAGESETUP
  658. #define CDIALOG_ABOUT            CFX_ID_ABOUT
  659. #define CDIALOG_OPTIONS            CFX_ID_OPTIONS
  660. #define CDIALOG_EDITTITLES        CFX_ID_EDITTITLES
  661. #define CDIALOG_FONTS            CFX_ID_FONTS
  662. #define CDIALOG_ROTATE            CFX_ID_ROTATE
  663. #define CDIALOG_GENERAL            CFX_ID_GENERAL
  664. #define CDIALOG_SERIES            CFX_ID_SERIES
  665. #define CDIALOG_SCALE            CFX_ID_SCALE
  666.  
  667. // CM_GETPAINTINFO Constants
  668. enum { CPI_GETDC, CPI_RELEASEDC, CPI_PIXELTOMARKER, CPI_MARKERTOPIXEL, CPI_VALUETOPIXEL, 
  669.         CPI_PIXELTOVALUE, CPI_POSITION, CPI_DIMENSION, CPI_PRINTINFO, CPI_SCROLLINFO, CPI_3DINFO, CPI_3DTO2D};
  670.  
  671. // StatusBar Item Styles
  672. #define CHART_STLEFT        0x0000
  673. #define CHART_STCENTER        0x0001
  674. #define CHART_STRIGHT        0x0002
  675.  
  676. // Flags for use in CM_SETSTATUSTEXT
  677. #define CHART_STITEM_BYPOS    0x4000
  678.  
  679. // Styles for DataStyle (for VB 3.0 only)
  680. #define CHART_DS_SERLEGEND        0x00000001L
  681. #define CHART_DS_USETEXTASLEG    0x00000002L
  682. #define CHART_DS_USEDATEASLEG    0x00000004L
  683.  
  684. // Types DataType Property in VB 3.0
  685. #define CDT_STRING        0x0001
  686. #define CDT_NUMBER        0x0007
  687. #define CDT_NOTUSED        0xFFFF
  688.  
  689. #define CHART_MAXBOUNDFIELDS    16
  690.  
  691. #define CHART_E                    2.71828182846
  692.  
  693. // PROPERTIES
  694. #define CP_CTLNAME            0
  695. #define CP_INDEX            1
  696. #define CP_LEFT                2
  697. #define CP_TOP                3
  698. #define CP_WIDTH            4
  699. #define CP_HEIGHT            5
  700. #define CP_VISIBLE            6
  701. #define CP_PARENT            7
  702. #define CP_HWND                8
  703. #define CP_BORDERSTYLEOFF    9
  704. #define CP_ABOUT            10
  705. #define CP_TYPE                11
  706. #define CP_STYLE            12
  707. #define CP_NSERIES          13
  708. #define CP_NVALUES          14
  709. #define CP_OPENDATA            15
  710. #define CP_CLOSEDATA        16
  711. #define CP_VALUE            17
  712. #define CP_XVALUE            18
  713. #define CP_INIVALUE            19
  714. #define CP_CONST            20
  715. #define CP_THISCOLOR        21
  716. #define CP_COLOR            22
  717. #define CP_THISBKCOLOR        23
  718. #define CP_BKCOLOR            24
  719. #define CP_ADM_DLG          25
  720. #define CP_ADM                26
  721. #define CP_LGAP                27
  722. #define CP_RGAP                28
  723. #define CP_TGAP                29
  724. #define CP_BGAP                30
  725. #define CP_DECIMALS            31
  726. #define CP_POINTTYPE        32
  727. #define CP_SCHEME            33
  728. #define CP_STACKED            34
  729. #define CP_GRID                35
  730. #define CP_WALLWIDTH        36
  731. #define CP_PATTERN            37
  732. #define CP_BARHORZGAP        38
  733. #define CP_VIEWROT3D        39
  734. #define CP_VIEW3D            40
  735. #define CP_ANGLES3D            41
  736. #define CP_PIXFACTOR        42
  737. #define CP_LINEWIDTH        43
  738. #define CP_LINESTYLE        44
  739. #define CP_LINECOLOR        45
  740. #define CP_LINEBKCOLOR        46
  741. #define CP_FIXEDWIDTH        47
  742. #define CP_FIXEDSTYLE        48
  743. #define CP_FIXEDCOLOR        49
  744. #define CP_FIXEDBKCOLOR        50
  745. #define CP_FIXEDGAP            51
  746. #define CP_DBLCLK_DLG        52
  747. #define CP_DBLCLK           53
  748. #define CP_RIGCLK_DLG        54
  749. #define CP_RIGCLK           55
  750. #define CP_RGBBARHORZ        56
  751. #define CP_RGBBK            57
  752. #define CP_RGB2DBK            58
  753. #define CP_RGB3DBK            59
  754. #define CP_FONT_DLG         60
  755. #define CP_FONT                61
  756. #define CP_TITLE_DLG        62
  757. #define CP_TITLE            63
  758. #define CP_STATUS            64
  759. #define CP_SHOWSTATUS        65
  760. #define CP_LANGUAGE            66
  761. #define CP_HTEXT            67
  762. #define CP_LEGEND            68
  763. #define CP_SERLEG            69
  764. #define CP_KEYLEG            70
  765. #define CP_FIXLEG            71
  766. #define CP_YLEG                72
  767. #define CP_KEYSER            73
  768. #define CP_STATUSTEXT        74
  769. #define CP_EXPORTFILE        75
  770. #define CP_IMPORTFILE        76
  771. #define CP_WRITETEMPLATE    77
  772. #define CP_READTEMPLATE        78
  773. #define CP_CHARTSTATUS        79
  774. #define CP_RGBFONT            80
  775. #define CP_EDIT                81
  776. #define CP_COPYDATA            82
  777. #define CP_COPYBITMAP        83
  778. #define CP_PRINT            84
  779. #define CP_HFONT            85
  780. #define CP_THISSERIE        86
  781. #define CP_CHARTTYPE        87
  782. #define CP_CHART3D            88
  783. #define CP_TOOLBAR            89
  784. #define CP_PALETTEBAR        90
  785. #define CP_PATTERNBAR        91
  786. #define CP_THISPOINT        92
  787. #define CP_CUSTTOOL            93
  788. #define CP_HCTLWND            94
  789. #define CP_RETURNVALUE        95
  790. #define CP_RESERVED1        96
  791. #define CP_RESERVED2        97
  792. #define CP_RESERVED3        98
  793. #define CP_AUTOINC            99
  794. #define CP_THISVALUE        100
  795. #define CP_VERTGRIDGAP        101
  796. #define CP_XLEGTYPE            102
  797. #define CP_CONSTTYPE        103
  798. #define CP_ITEMWIDTH        104
  799. #define CP_ITEMSTYLE        105
  800. #define CP_ITEMCOLOR        106
  801. #define CP_DECIMALSNUM        107
  802. #define CP_SHOWDIALOG        108
  803. #define CP_TAG                109
  804. #define CP_LEGENDWIDTH        110
  805. #define CP_SCROLL            111
  806. #define CP_HELPCONTEXTID    112        // for VB 3.0 Only
  807. #define CP_BARBITMAP        113
  808. #define CP_MARKERSIZE        114
  809. #define CP_MARKERVOLUME        115
  810. #define CP_DEPTH            116
  811. #define CP_LIGHT            117
  812. #define CP_SHAPE            118
  813. #define CP_MULTITYPE        119
  814. #define CP_MULTISHAPE        120
  815. #define CP_GALLERYTOOL        121
  816. #define CP_CLEARLEGEND        122
  817. #define CP_MAXVALUES        123
  818. #define CP_REALTIMESTYLE    124
  819. #define CP_EXPORT            125
  820. #define CP_TBBITMAP            126
  821. #define CP_TBITEMID            127
  822. #define CP_TBITEMSTYLE        128
  823. #define CP_ENABLETBITEM        129
  824. #define CP_MULTIYAXIS        130
  825. #define CP_TOOLSTYLE        131
  826. #define CP_ZOOM                132
  827. #define CP_ITEMBKCOLOR        133
  828. #define CP_IMPORT            134
  829. #define CP_SEPARATESLICE    135
  830. #define CP_PAINTINFO        136
  831. #define CP_OPTIONS_DLG        137
  832. #define CP_TOOLSIZE            138
  833. #define CP_EXPORTSTR        139
  834. #define CP_IMPORTSTR        140
  835. #define CP_DATASOURCE        141        // for VB 3.0 Only
  836. #define CP_DATATYPE            142        // for VB 3.0 Only
  837. #define CP_DATASTYLE        143        // for VB 3.0 Only
  838. #define CP_RESERVED4        144
  839. #define CP_TOOLPOS            145
  840. #define CP_TYPEEX            146
  841. #define CP_STYLEEX            147
  842. #define CP_MOUSECAPTURE        148
  843. #define CP_LEGSTYLE            149
  844. #define CP_MULTILINESTYLE    150
  845. #define CP_CURRENTAXIS        151
  846. #define CP_ENABLED            152
  847. #define CP_CUSTOMTOOL        153
  848. #define CP_MULTIPOINT        154
  849.  
  850. } // extern "C" 
  851.  
  852. #if 0
  853.     #define CFXGetProp(n,v,i)    GetProp(n,v,i)
  854. #else
  855.     #define CFXGetFAProp(n,v,i)    float fTemp; \
  856.                                 SetProp(60,(long) MAKELONG(i,n)); \
  857.                                 SetProp(62,(long) &fTemp); \
  858.                                 v = fTemp; \
  859.                                 return TRUE;
  860.  
  861.     #define CFXGetSAProp(n,v,i) SetProp(60,(long) MAKELONG(i,n)); \
  862.                                 GetProp(n,v,i); \
  863.                                 return TRUE;
  864. #endif
  865.  
  866. #ifdef __OWL_OWLDEFS_H
  867.   #include <owl\vbxctl.h>
  868. #endif
  869.  
  870. // events
  871. #define Event_ChartFX20_LButtonDblClk 0
  872. #define Event_ChartFX20_RButtonDown 1
  873. #define Event_ChartFX20_ChangeValue 2
  874. #define Event_ChartFX20_ChangeString 3
  875. #define Event_ChartFX20_ChangeColor 4
  876. #define Event_ChartFX20_Destroy 5
  877. #define Event_ChartFX20_ReadFile 6
  878. #define Event_ChartFX20_ChangePalette 7
  879. #define Event_ChartFX20_ChangeFont 8
  880. #define Event_ChartFX20_ReadTemplate 9
  881. #define Event_ChartFX20_ChangePattern 10
  882. #define Event_ChartFX20_ChangePattPal 11
  883. #define Event_ChartFX20_Menu 12
  884. #define Event_ChartFX20_ChangeType 13
  885. #define Event_ChartFX20_Scroll 14
  886. #define Event_ChartFX20_GetLegend 15
  887. #define Event_ChartFX20_InternalCommand 16
  888. #define Event_ChartFX20_UserCommand 17
  889. #define Event_ChartFX20_ShowToolbar 17
  890. #define Event_ChartFX20_Prepaint 19
  891. #define Event_ChartFX20_PostPaint 20
  892. #define Event_ChartFX20_PaintMarker 21
  893. #define Event_ChartFX20_LButtonDown 22
  894. #define Event_ChartFX20_LButtonUp 23
  895. #define Event_ChartFX20_RButtonUp 24
  896. #define Event_ChartFX20_RButtonDblClk 25
  897. #define Event_ChartFX20_MouseMove 26
  898.  
  899. // default form data
  900. //
  901. // Some VBX controls do not operate correctly when created without
  902. // a form file.  This occurs when a program creates a control
  903. // dynamically rather than as part of a dialog resource.  If this
  904. // control exhibits problems in this mode, try creating it with the
  905. // following form data:
  906. //
  907. // For OWL programs:
  908. //
  909. //   TVbxChartFX20* c = new TVbxChartFX20(..., sizeof(ChartFX20Data), ChartFX20Data);
  910. //
  911. // For C/C++ programs:
  912. //
  913. //   HFORMFILE file = VBXCreateFormFile(sizeof(ChartFX20Data), ChartFX20Data);
  914. //   HCTL c = VBXCreate(..., file);
  915. //   VBXDeleteFormFile(file);
  916. //
  917. // Note that the VBXGEN_DATA or ChartFX20_DATA symbol must be
  918. // defined in order to use the default form data.
  919. //
  920. extern BYTE ChartFX20Data[242L];
  921. #if defined(VBXGEN_DATA) || defined(ChartFX20_DATA)
  922.   BYTE ChartFX20Data[242L]={
  923.     0x01,0x00,0x00,0x02,0x06,0xff,0xff,0x09,
  924.     0x01,0x0a,0x00,0x0b,0x01,0x40,0x00,0x00,
  925.     0x0c,0xff,0xff,0xff,0xff,0x0d,0x0e,0x02,
  926.     0x00,0x04,0x00,0x00,0x00,0x00,0x00,0x00,
  927.     0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  928.     0x00,0xf0,0x3f,0x00,0x00,0x00,0x00,0x00,
  929.     0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  930.     0x00,0x59,0x40,0x15,0x00,0x00,0x00,0x00,
  931.     0x00,0x00,0x17,0x19,0x1b,0x32,0x00,0x1c,
  932.     0x32,0x00,0x1d,0x28,0x00,0x1e,0x28,0x00,
  933.     0x1f,0x02,0x00,0x20,0x02,0x21,0x00,0x22,
  934.     0x00,0x23,0x00,0x24,0x08,0x00,0x27,0x00,
  935.     0x00,0x00,0x00,0x00,0x00,0x2b,0x01,0x00,
  936.     0x2c,0x00,0x2d,0x00,0x00,0x00,0x00,0x2e,
  937.     0x00,0x00,0x00,0x00,0x33,0x00,0x00,0x34,
  938.     0x00,0x36,0x02,0x38,0x00,0xff,0xff,0x00,
  939.     0x39,0xc0,0xc0,0xc0,0x00,0x3a,0xc0,0xc0,
  940.     0xc0,0x00,0x3b,0xff,0xff,0xff,0x00,0x3c,
  941.     0x08,0x00,0x00,0x20,0x08,0x00,0x00,0x60,
  942.     0x08,0x00,0x00,0x00,0x08,0x00,0x00,0x00,
  943.     0x08,0x00,0x00,0x00,0x08,0x00,0x00,0x00,
  944.     0x08,0x00,0x00,0x00,0x08,0x00,0x00,0x00,
  945.     0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  946.     0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  947.     0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  948.     0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  949.     0x3e,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  950.     0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
  951.     0x00,0x57,0x58,0x59,0x5a,0x5b,0x5d,0xff,
  952.     0x1f,0xff,0x1f,0x60,0x00,0x61,0x00,0x62,
  953.     0x00,0xff,
  954.   };
  955. #endif
  956.  
  957. #ifdef __OWL_VBXCTL_H
  958.  
  959. // OWL class
  960. class TVbxChartFX20 : public TVbxControl {
  961.   public:
  962.  
  963.     // constructors
  964.     TVbxChartFX20(TWindow* parent, int id, LPCSTR title,
  965.         int x, int y, int w, int h,
  966.         long initLen=0, void far* initData=0, TModule* module=0) :
  967.       TVbxControl(parent, id, "CHART2FX.VBX", "ChartFX20",
  968.           title, x, y, w, h, initLen, initData, module) {}
  969.  
  970.     TVbxChartFX20(TWindow* parent, int resourceId, TModule* module=0) :
  971.         TVbxControl(parent, resourceId, module) {}
  972.  
  973. #if 0
  974.     // event handlers
  975.     void EvLButtonDblClk(VBXEVENT FAR*)
  976.     {
  977.       // X as Integer,Y as Integer,nSerie as Integer,nPoint as Integer,nRes as Integer
  978.     }
  979.  
  980.     void EvRButtonDown(VBXEVENT FAR*)
  981.     {
  982.       // X as Integer,Y as Integer,nSerie as Integer,nPoint as Integer,nRes as Integer
  983.     }
  984.  
  985.     void EvChangeValue(VBXEVENT FAR*)
  986.     {
  987.       // dValue as Double,nSerie as Integer,nPoint as Integer,nRes as Integer
  988.     }
  989.  
  990.     void EvChangeString(VBXEVENT FAR*)
  991.     {
  992.       // nType as Integer,nIndex as Integer,nRes as Integer
  993.     }
  994.  
  995.     void EvChangeColor(VBXEVENT FAR*)
  996.     {
  997.       // nType as Integer,nIndex as Integer,nRes as Integer
  998.     }
  999.  
  1000.     void EvDestroy(VBXEVENT FAR*)
  1001.     {
  1002.       // no arguments
  1003.     }
  1004.  
  1005.     void EvReadFile(VBXEVENT FAR*)
  1006.     {
  1007.       // no arguments
  1008.     }
  1009.  
  1010.     void EvChangePalette(VBXEVENT FAR*)
  1011.     {
  1012.       // nIndex as Integer,nRes as Integer
  1013.     }
  1014.  
  1015.     void EvChangeFont(VBXEVENT FAR*)
  1016.     {
  1017.       // nIndex as Integer,nRes as Integer
  1018.     }
  1019.  
  1020.     void EvReadTemplate(VBXEVENT FAR*)
  1021.     {
  1022.       // no arguments
  1023.     }
  1024.  
  1025.     void EvChangePattern(VBXEVENT FAR*)
  1026.     {
  1027.       // nType as Integer,nIndex as Integer,nRes as Integer
  1028.     }
  1029.  
  1030.     void EvChangePattPal(VBXEVENT FAR*)
  1031.     {
  1032.       // nIndex as Integer,nRes as Integer
  1033.     }
  1034.  
  1035.     void EvMenu(VBXEVENT FAR*)
  1036.     {
  1037.       // wParam as Integer,nSerie as Integer,nPoint as Integer,nRes as Integer
  1038.     }
  1039.  
  1040.     void EvChangeType(VBXEVENT FAR*)
  1041.     {
  1042.      // nType as Integer,nRes as Integer
  1043.     }
  1044.  
  1045.     void EvScroll(VBXEVENT FAR*)
  1046.     {
  1047.       // wScrollMsg as Integer,wScrollParam as Integer,nRes as Integer
  1048.     }
  1049.  
  1050.     void EvGetLegend(VBXEVENT FAR*)
  1051.     {
  1052.       // bYLegend as Integer,nRes as Integer
  1053.     }
  1054.  
  1055.     void EvInternalCommand(VBXEVENT FAR*)
  1056.     {
  1057.       // wParam as Integer,lParam as Long,nRes as Integer
  1058.     }
  1059.  
  1060.     void EvUserCommand(VBXEVENT FAR*)
  1061.     {
  1062.       // wParam as Integer,lParam as Long,nRes as Integer
  1063.     }
  1064.  
  1065.     void EvShowToolbar(VBXEVENT FAR*)
  1066.     {
  1067.       // nType as Integer,nRes as Integer
  1068.     }
  1069.  
  1070.     void EvPrePaint(VBXEVENT FAR*)
  1071.     {
  1072.       // w as Integer,h as Integer,lPaint as Long,nRes as Integer
  1073.     }
  1074.  
  1075.     void EvPostPaint(VBXEVENT FAR*)
  1076.     {
  1077.       // w as Integer,h as Integer,lPaint as Long,nRes as Integer
  1078.     }
  1079.  
  1080.     void EvPaintMarker(VBXEVENT FAR*)
  1081.     {
  1082.       // x as Integer,y as Integer,lPaint as Long,nSerie as Integer,nPoint as Integer,nRes as Integer
  1083.     }
  1084.  
  1085.     void EvLButtonDown(VBXEVENT FAR*)
  1086.     {
  1087.       // bYaxis as Boolean, nRes as Integer
  1088.     }
  1089.  
  1090.     void EvLButtonUp(VBXEVENT FAR*)
  1091.     {
  1092.       // X as Integer,Y as Integer,nRes as Integer
  1093.     }
  1094.  
  1095.     void EvRButtonUp(VBXEVENT FAR*)
  1096.     {
  1097.       // X as Integer,Y as Integer,nRes as Integer
  1098.     }
  1099.  
  1100.     void EvRButtonDblClk(VBXEVENT FAR*)
  1101.     {
  1102.       // X as Integer,Y as Integer,nRes as Integer
  1103.     }
  1104.  
  1105.     void EvMouseMove(VBXEVENT FAR*)
  1106.     {
  1107.       // X as Integer,Y as Integer,nRes as Integer
  1108.     }
  1109. #endif
  1110.  
  1111.     // properties
  1112.     BOOL GetPropCtlName(string& v) {return GetProp(CP_CTLNAME,v);}
  1113.     BOOL SetPropCtlName(string& v) {return SetProp(CP_CTLNAME,v);}
  1114.  
  1115.     BOOL GetPropIndex(int& v) {return GetProp(CP_INDEX,v);}
  1116.     BOOL SetPropIndex(int v) {return SetProp(CP_INDEX,v);}
  1117.  
  1118.     BOOL GetPropLeft(long& v) {return GetProp(CP_LEFT,v);}
  1119.     BOOL SetPropLeft(long v) {return SetProp(CP_LEFT,v);}
  1120.  
  1121.     BOOL GetPropTop(long& v) {return GetProp(CP_TOP,v);}
  1122.     BOOL SetPropTop(long v) {return SetProp(CP_TOP,v);}
  1123.  
  1124.     BOOL GetPropWidth(long& v) {return GetProp(CP_WIDTH,v);}
  1125.     BOOL SetPropWidth(long v) {return SetProp(CP_WIDTH,v);}
  1126.  
  1127.     BOOL GetPropHeight(long& v) {return GetProp(CP_HEIGHT,v);}
  1128.     BOOL SetPropHeight(long v) {return SetProp(CP_HEIGHT,v);}
  1129.  
  1130.     BOOL GetPropVisible(BOOL& v) {return GetProp(CP_VISIBLE,v);}
  1131.     BOOL SetPropVisible(BOOL v) {return SetProp(CP_VISIBLE,v);}
  1132.  
  1133.     BOOL GetPropParent(int& v) {return GetProp(CP_PARENT,v);}
  1134.     BOOL SetPropParent(int v) {return SetProp(CP_PARENT,v);}
  1135.  
  1136.     BOOL GetProphWnd(int& v) {return GetProp(CP_HWND,v);}
  1137.     BOOL SetProphWnd(int v) {return SetProp(CP_HWND,v);}
  1138.  
  1139.     BOOL GetPropBorderStyle(ENUM& v) {return GetProp(CP_BORDERSTYLEOFF,v);}
  1140.     BOOL SetPropBorderStyle(ENUM v) {return SetProp(CP_BORDERSTYLEOFF,v);}
  1141.  
  1142.     BOOL GetPropType(long& v) {return GetProp(CP_TYPE,v);}
  1143.     BOOL SetPropType(long v) {return SetProp(CP_TYPE,v);}
  1144.  
  1145.     BOOL GetPropStyle(long& v) {return GetProp(CP_STYLE,v);}
  1146.     BOOL SetPropStyle(long v) {return SetProp(CP_STYLE,v);}
  1147.  
  1148.     BOOL GetPropNSeries(int& v) {return GetProp(CP_NSERIES,v);}
  1149.     BOOL SetPropNSeries(int v) {return SetProp(CP_NSERIES,v);}
  1150.  
  1151.     BOOL GetPropNValues(int& v) {return GetProp(CP_NVALUES,v);}
  1152.     BOOL SetPropNValues(int v) {return SetProp(CP_NVALUES,v);}
  1153.  
  1154.     BOOL SetPropOpenData(long v, int i) {return SetProp(CP_OPENDATA,v,i);}
  1155.  
  1156.     BOOL SetPropCloseData(long v, int i) {return SetProp(CP_CLOSEDATA,v,i);}
  1157.  
  1158.     BOOL GetPropValue(float& v, int i) {CFXGetFAProp(CP_VALUE,v,i);}
  1159.     BOOL SetPropValue(float v, int i) {return SetProp(CP_VALUE,v,i);}
  1160.  
  1161.     BOOL GetPropXValue(float& v, int i) {CFXGetFAProp(CP_XVALUE,v,i);}
  1162.     BOOL SetPropXValue(float v, int i) {return SetProp(CP_XVALUE,v,i);}
  1163.  
  1164.     BOOL GetPropIniValue(float& v, int i) {CFXGetFAProp(CP_INIVALUE,v,i);}
  1165.     BOOL SetPropIniValue(float v, int i) {return SetProp(CP_INIVALUE,v,i);}
  1166.  
  1167.     BOOL GetPropConst(float& v, int i) {CFXGetFAProp(CP_CONST,v,i);}
  1168.     BOOL SetPropConst(float v, int i) {return SetProp(CP_CONST,v,i);}
  1169.  
  1170.     BOOL GetPropThisColor(COLORREF& v) {return GetProp(CP_THISCOLOR,v);}
  1171.     BOOL SetPropThisColor(COLORREF v) {return SetProp(CP_THISCOLOR,v);}
  1172.  
  1173.     BOOL GetPropColor(COLORREF& v, int i) {return GetProp(CP_COLOR,v,i);}
  1174.     BOOL SetPropColor(COLORREF v, int i) {return SetProp(CP_COLOR,v,i);}
  1175.  
  1176.     BOOL GetPropThisBkColor(COLORREF& v) {return GetProp(CP_THISBKCOLOR,v);}
  1177.     BOOL SetPropThisBkColor(COLORREF v) {return SetProp(CP_THISBKCOLOR,v);}
  1178.  
  1179.     BOOL GetPropBkColor(COLORREF& v, int i) {return GetProp(CP_BKCOLOR,v,i);}
  1180.     BOOL SetPropBkColor(COLORREF v, int i) {return SetProp(CP_BKCOLOR,v,i);}
  1181.  
  1182.     BOOL GetPropAdm(float& v, int i) {CFXGetFAProp(CP_ADM,v,i);}
  1183.     BOOL SetPropAdm(float v, int i) {return SetProp(CP_ADM,v,i);}
  1184.  
  1185.     BOOL GetPropLeftGap(int& v) {return GetProp(CP_LGAP,v);}
  1186.     BOOL SetPropLeftGap(int v) {return SetProp(CP_LGAP,v);}
  1187.  
  1188.     BOOL GetPropRightGap(int& v) {return GetProp(CP_RGAP,v);}
  1189.     BOOL SetPropRightGap(int v) {return SetProp(CP_RGAP,v);}
  1190.  
  1191.     BOOL GetPropTopGap(int& v) {return GetProp(CP_TGAP,v);}
  1192.     BOOL SetPropTopGap(int v) {return SetProp(CP_TGAP,v);}
  1193.  
  1194.     BOOL GetPropBottomGap(int& v) {return GetProp(CP_BGAP,v);}
  1195.     BOOL SetPropBottomGap(int v) {return SetProp(CP_BGAP,v);}
  1196.  
  1197.     BOOL GetPropDecimals(int& v) {return GetProp(CP_DECIMALS,v);}
  1198.     BOOL SetPropDecimals(int v) {return SetProp(CP_DECIMALS,v);}
  1199.  
  1200.     BOOL GetPropPointType(ENUM& v) {return GetProp(CP_POINTTYPE,v);}
  1201.     BOOL SetPropPointType(ENUM v) {return SetProp(CP_POINTTYPE,v);}
  1202.  
  1203.     BOOL GetPropScheme(ENUM& v) {return GetProp(CP_SCHEME,v);}
  1204.     BOOL SetPropScheme(ENUM v) {return SetProp(CP_SCHEME,v);}
  1205.  
  1206.     BOOL GetPropStacked(ENUM& v) {return GetProp(CP_STACKED,v);}
  1207.     BOOL SetPropStacked(ENUM v) {return SetProp(CP_STACKED,v);}
  1208.  
  1209.     BOOL GetPropGrid(ENUM& v) {return GetProp(CP_GRID,v);}
  1210.     BOOL SetPropGrid(ENUM v) {return SetProp(CP_GRID,v);}
  1211.  
  1212.     BOOL GetPropWallWidth(int& v) {return GetProp(CP_WALLWIDTH,v);}
  1213.     BOOL SetPropWallWidth(int v) {return SetProp(CP_WALLWIDTH,v);}
  1214.  
  1215.     BOOL GetPropPattern(int& v, int i) {return GetProp(CP_PATTERN,v,i);}
  1216.     BOOL SetPropPattern(int v, int i) {return SetProp(CP_PATTERN,v,i);}
  1217.  
  1218.     BOOL GetPropBarHorzGap(int& v) {return GetProp(CP_BARHORZGAP,v);}
  1219.     BOOL SetPropBarHorzGap(int v) {return SetProp(CP_BARHORZGAP,v);}
  1220.  
  1221.     BOOL GetPropView3D(BOOL& v) {return GetProp(CP_VIEW3D,v);}
  1222.     BOOL SetPropView3D(BOOL v) {return SetProp(CP_VIEW3D,v);}
  1223.  
  1224.     BOOL GetPropAngles3D(long& v) {return GetProp(CP_ANGLES3D,v);}
  1225.     BOOL SetPropAngles3D(long v) {return SetProp(CP_ANGLES3D,v);}
  1226.  
  1227.     BOOL GetPropPixFactor(int& v) {return GetProp(CP_PIXFACTOR,v);}
  1228.     BOOL SetPropPixFactor(int v) {return SetProp(CP_PIXFACTOR,v);}
  1229.  
  1230.     BOOL GetPropLineWidth(int& v) {return GetProp(CP_LINEWIDTH,v);}
  1231.     BOOL SetPropLineWidth(int v) {return SetProp(CP_LINEWIDTH,v);}
  1232.  
  1233.     BOOL GetPropLineStyle(ENUM& v) {return GetProp(CP_LINESTYLE,v);}
  1234.     BOOL SetPropLineStyle(ENUM v) {return SetProp(CP_LINESTYLE,v);}
  1235.  
  1236.     BOOL GetPropLineColor(COLORREF& v) {return GetProp(CP_LINECOLOR,v);}
  1237.     BOOL SetPropLineColor(COLORREF v) {return SetProp(CP_LINECOLOR,v);}
  1238.  
  1239.     BOOL GetPropLineBkColor(COLORREF& v) {return GetProp(CP_LINEBKCOLOR,v);}
  1240.     BOOL SetPropLineBkColor(COLORREF v) {return SetProp(CP_LINEBKCOLOR,v);}
  1241.  
  1242.     BOOL GetPropFixedWidth(int& v) {return GetProp(CP_FIXEDWIDTH,v);}
  1243.     BOOL SetPropFixedWidth(int v) {return SetProp(CP_FIXEDWIDTH,v);}
  1244.  
  1245.     BOOL GetPropFixedStyle(ENUM& v) {return GetProp(CP_FIXEDSTYLE,v);}
  1246.     BOOL SetPropFixedStyle(ENUM v) {return SetProp(CP_FIXEDSTYLE,v);}
  1247.  
  1248.     BOOL GetPropFixedColor(COLORREF& v) {return GetProp(CP_FIXEDCOLOR,v);}
  1249.     BOOL SetPropFixedColor(COLORREF v) {return SetProp(CP_FIXEDCOLOR,v);}
  1250.  
  1251.     BOOL GetPropFixedBkColor(COLORREF& v) {return GetProp(CP_FIXEDBKCOLOR,v);}
  1252.     BOOL SetPropFixedBkColor(COLORREF v) {return SetProp(CP_FIXEDBKCOLOR,v);}
  1253.  
  1254.     BOOL GetPropFixedGap(int& v) {return GetProp(CP_FIXEDGAP,v);}
  1255.     BOOL SetPropFixedGap(int v) {return SetProp(CP_FIXEDGAP,v);}
  1256.  
  1257.     BOOL SetPropDblClk(int v, int i) {return SetProp(CP_DBLCLK,v,i);}
  1258.  
  1259.     BOOL SetPropRigClk(int v, int i) {return SetProp(CP_RIGCLK,v,i);}
  1260.  
  1261.     BOOL GetPropRGBBarHorz(COLORREF& v) {return GetProp(CP_RGBBARHORZ,v);}
  1262.     BOOL SetPropRGBBarHorz(COLORREF v) {return SetProp(CP_RGBBARHORZ,v);}
  1263.  
  1264.     BOOL GetPropRGBBk(COLORREF& v) {return GetProp(CP_RGBBK,v);}
  1265.     BOOL SetPropRGBBk(COLORREF v) {return SetProp(CP_RGBBK,v);}
  1266.  
  1267.     BOOL GetPropRGB2DBk(COLORREF& v) {return GetProp(CP_RGB2DBK,v);}
  1268.     BOOL SetPropRGB2DBk(COLORREF v) {return SetProp(CP_RGB2DBK,v);}
  1269.  
  1270.     BOOL GetPropRGB3DBk(COLORREF& v) {return GetProp(CP_RGB3DBK,v);}
  1271.     BOOL SetPropRGB3DBk(COLORREF v) {return SetProp(CP_RGB3DBK,v);}
  1272.  
  1273.     BOOL SetPropFont(long v, int i) {return SetProp(CP_FONT,v,i);}
  1274.  
  1275.     BOOL GetPropTitle(string& v, int i) {CFXGetSAProp(CP_TITLE,v,i);}
  1276.     BOOL SetPropTitle(string& v, int i) {return SetProp(CP_TITLE,v,i);}
  1277.  
  1278.     BOOL SetPropStatus(CHART_STITEMP p, int i) {return SetProp(CP_STATUS,(long) p,i);}
  1279.  
  1280.     BOOL SetPropShowStatus(BOOL v) {return SetProp(CP_SHOWSTATUS,v);}
  1281.  
  1282.     BOOL SetPropLanguage(string& v) {return SetProp(CP_LANGUAGE,v);}
  1283.  
  1284.     BOOL GetPropHText(string& v) {return GetProp(CP_HTEXT,v);}
  1285.     BOOL SetPropHText(string& v) {return SetProp(CP_HTEXT,v);}
  1286.  
  1287.     BOOL GetPropLegend(string& v, int i) {CFXGetSAProp(CP_LEGEND,v,i);}
  1288.     BOOL SetPropLegend(string& v, int i) {return SetProp(CP_LEGEND,v,i);}
  1289.  
  1290.     BOOL GetPropSerLeg(string& v, int i) {CFXGetSAProp(CP_SERLEG,v,i);}
  1291.     BOOL SetPropSerLeg(string& v, int i) {return SetProp(CP_SERLEG,v,i);}
  1292.  
  1293.     BOOL GetPropKeyLeg(string& v, int i) {CFXGetSAProp(CP_KEYLEG,v,i);}
  1294.     BOOL SetPropKeyLeg(string& v, int i) {return SetProp(CP_KEYLEG,v,i);}
  1295.  
  1296.     BOOL GetPropFixLeg(string& v, int i) {CFXGetSAProp(CP_FIXLEG,v,i);}
  1297.     BOOL SetPropFixLeg(string& v, int i) {return SetProp(CP_FIXLEG,v,i);}
  1298.  
  1299.     BOOL GetPropYLeg(string& v, int i) {CFXGetSAProp(CP_YLEG,v,i);}
  1300.     BOOL SetPropYLeg(string& v, int i) {return SetProp(CP_YLEG,v,i);}
  1301.  
  1302.     BOOL GetPropKeySer(string& v, int i) {CFXGetSAProp(CP_KEYSER,v,i);}
  1303.     BOOL SetPropKeySer(string& v, int i) {return SetProp(CP_KEYSER,v,i);}
  1304.  
  1305.     BOOL GetPropStatusText(string& v, int i) {CFXGetSAProp(CP_STATUSTEXT,v,i);}
  1306.     BOOL SetPropStatusText(string& v, int i) {return SetProp(CP_STATUSTEXT,v,i);}
  1307.  
  1308.     BOOL SetPropExportFile(string& v) {return SetProp(CP_EXPORTFILE,v);}
  1309.  
  1310.     BOOL SetPropImportFile(string& v) {return SetProp(CP_IMPORTFILE,v);}
  1311.  
  1312.     BOOL SetPropWriteTemplate(string& v) {return SetProp(CP_WRITETEMPLATE,v);}
  1313.  
  1314.     BOOL SetPropReadTemplate(string& v) {return SetProp(CP_READTEMPLATE,v);}
  1315.  
  1316.     BOOL GetPropChartStatus(int& v) {return GetProp(CP_CHARTSTATUS,v);}
  1317.  
  1318.     BOOL SetPropRGBFont(COLORREF v, int i) {return SetProp(CP_RGBFONT,v,i);}
  1319.  
  1320.     BOOL GetPropEdit(int& v) {return GetProp(CP_EDIT,v);}
  1321.  
  1322.     BOOL SetPropCopyData(int v) {return SetProp(CP_COPYDATA,v);}
  1323.  
  1324.     BOOL SetPropCopyBitmap(int v) {return SetProp(CP_COPYBITMAP,v);}
  1325.  
  1326.     BOOL SetPropPrint(int v) {return SetProp(CP_PRINT,v);}
  1327.  
  1328.     BOOL SetPropHFont(int v, int i) {return SetProp(CP_HFONT,v,i);}
  1329.  
  1330.     BOOL GetPropThisSerie(int& v) {return GetProp(CP_THISSERIE,v);}
  1331.     BOOL SetPropThisSerie(int v) {return SetProp(CP_THISSERIE,v);}
  1332.  
  1333.     BOOL GetPropChartType(ENUM& v) {return GetProp(CP_CHARTTYPE,v);}
  1334.     BOOL SetPropChartType(ENUM v) {return SetProp(CP_CHARTTYPE,v);}
  1335.  
  1336.     BOOL GetPropChart3D(BOOL& v) {return GetProp(CP_CHART3D,v);}
  1337.     BOOL SetPropChart3D(BOOL v) {return SetProp(CP_CHART3D,v);}
  1338.  
  1339.     BOOL GetPropToolBar(BOOL& v) {return GetProp(CP_TOOLBAR,v);}
  1340.     BOOL SetPropToolBar(BOOL v) {return SetProp(CP_TOOLBAR,v);}
  1341.  
  1342.     BOOL GetPropPaletteBar(BOOL& v) {return GetProp(CP_PALETTEBAR,v);}
  1343.     BOOL SetPropPaletteBar(BOOL v) {return SetProp(CP_PALETTEBAR,v);}
  1344.  
  1345.     BOOL GetPropPatternBar(BOOL& v) {return GetProp(CP_PATTERNBAR,v);}
  1346.     BOOL SetPropPatternBar(BOOL v) {return SetProp(CP_PATTERNBAR,v);}
  1347.  
  1348.     BOOL GetPropThisPoint(int& v) {return GetProp(CP_THISPOINT,v);}
  1349.     BOOL SetPropThisPoint(int v) {return SetProp(CP_THISPOINT,v);}
  1350.  
  1351.     BOOL GetPropCustTool(long& v) {return GetProp(CP_CUSTTOOL,v);}
  1352.     BOOL SetPropCustTool(long v) {return SetProp(CP_CUSTTOOL,v);}
  1353.  
  1354.     BOOL GetProphCtlWnd(int& v) {return GetProp(CP_HCTLWND,v);}
  1355.  
  1356.     BOOL SetPropReturnValue(long v) {return SetProp(CP_RETURNVALUE,v);}
  1357.  
  1358.     BOOL GetPropAutoIncrement(BOOL& v) {return GetProp(CP_AUTOINC,v);}
  1359.     BOOL SetPropAutoIncrement(BOOL v) {return SetProp(CP_AUTOINC,v);}
  1360.  
  1361.     BOOL SetPropThisValue(float v) {return SetProp(CP_THISVALUE,v);}
  1362.  
  1363.     BOOL GetPropVertGridGap(int& v) {return GetProp(CP_VERTGRIDGAP,v);}
  1364.     BOOL SetPropVertGridGap(int v) {return SetProp(CP_VERTGRIDGAP,v);}
  1365.  
  1366.     BOOL GetPropXLegType(int& v) {return GetProp(CP_XLEGTYPE,v);}
  1367.     BOOL SetPropXLegType(int v) {return SetProp(CP_XLEGTYPE,v);}
  1368.  
  1369.     BOOL GetPropConstType(int& v) {return GetProp(CP_CONSTTYPE,v);}
  1370.     BOOL SetPropConstType(int v) {return SetProp(CP_CONSTTYPE,v);}
  1371.  
  1372.     BOOL GetPropItemWidth(int& v, int i) {return GetProp(CP_ITEMWIDTH,v,i);}
  1373.     BOOL SetPropItemWidth(int v, int i) {return SetProp(CP_ITEMWIDTH,v,i);}
  1374.  
  1375.     BOOL GetPropItemStyle(int& v, int i) {return GetProp(CP_ITEMSTYLE,v,i);}
  1376.     BOOL SetPropItemStyle(int v, int i) {return SetProp(CP_ITEMSTYLE,v,i);}
  1377.  
  1378.     BOOL GetPropItemColor(COLORREF& v, int i) {return GetProp(CP_ITEMCOLOR,v,i);}
  1379.     BOOL SetPropItemColor(COLORREF v, int i) {return SetProp(CP_ITEMCOLOR,v,i);}
  1380.  
  1381.     BOOL GetPropDecimalsNum(int& v, int i) {return GetProp(CP_DECIMALSNUM,v,i);}
  1382.     BOOL SetPropDecimalsNum(int v, int i) {return SetProp(CP_DECIMALSNUM,v,i);}
  1383.  
  1384.     BOOL SetPropShowDialog(int v, int i) {return SetProp(CP_SHOWDIALOG,v,i);}
  1385.  
  1386.     BOOL GetPropTag(string& v) {return GetProp(CP_TAG,v);}
  1387.     BOOL SetPropTag(string& v) {return SetProp(CP_TAG,v);}
  1388.  
  1389.     BOOL SetPropLegendWidth(int v) {return SetProp(CP_LEGENDWIDTH,v);}
  1390.  
  1391.     BOOL SetPropScroll(int v,int i) {return SetProp(CP_SCROLL,v,i);}
  1392.  
  1393.     BOOL GetPropBarBitmap(HPIC& v, int i) {return GetProp(CP_BARBITMAP,v,i);}
  1394.     BOOL SetPropBarBitmap(HPIC v, int i) {return SetProp(CP_BARBITMAP,v,i);}
  1395.  
  1396.     BOOL GetPropMarkerSize(int& v) {return GetProp(CP_MARKERSIZE,v);}
  1397.     BOOL SetPropMarkerSize(int v) {return SetProp(CP_MARKERSIZE,v);}
  1398.  
  1399.     BOOL GetPropMarkerVolume(int& v) {return GetProp(CP_MARKERVOLUME,v);}
  1400.     BOOL SetPropMarkerVolume(int v) {return SetProp(CP_MARKERVOLUME,v);}
  1401.  
  1402.     BOOL GetPropDepth(int& v) {return GetProp(CP_DEPTH,v);}
  1403.     BOOL SetPropDepth(int v) {return SetProp(CP_DEPTH,v);}
  1404.  
  1405.     BOOL GetPropLight(int& v) {return GetProp(CP_LIGHT,v);}
  1406.     BOOL SetPropLight(int v) {return SetProp(CP_LIGHT,v);}
  1407.  
  1408.     BOOL GetPropShape(int& v) {return GetProp(CP_SHAPE,v);}
  1409.     BOOL SetPropShape(int v) {return SetProp(CP_SHAPE,v);}
  1410.     
  1411.     BOOL GetPropMultiType(long& v, int i) {return GetProp(CP_MULTITYPE,v,i);}
  1412.     BOOL SetPropMultiType(long v, int i) {return SetProp(CP_MULTITYPE,v,i);}
  1413.  
  1414.     BOOL GetPropMultiShape(int& v, int i) {return GetProp(CP_MULTISHAPE,v,i);}
  1415.     BOOL SetPropMultiShape(int v, int i) {return SetProp(CP_MULTISHAPE,v,i);}
  1416.     
  1417.     BOOL GetPropGalleryTool(long& v) {return GetProp(CP_GALLERYTOOL,v);}
  1418.     BOOL SetPropGalleryTool(long v) {return SetProp(CP_GALLERYTOOL,v);}
  1419.  
  1420.     BOOL GetPropClearLegend(int& v, int i) {return GetProp(CP_CLEARLEGEND,v,i);}
  1421.     BOOL SetPropClearLegend(int v, int i) {return SetProp(CP_CLEARLEGEND,v,i);}
  1422.  
  1423.     BOOL GetPropMaxValues(int& v) {return GetProp(CP_MAXVALUES,v);}
  1424.     BOOL SetPropMaxValues(int v) {return SetProp(CP_MAXVALUES,v);}
  1425.  
  1426.     BOOL GetPropRealTimeStyle(int& v) {return GetProp(CP_REALTIMESTYLE,v);}
  1427.     BOOL SetPropRealTimeStyle(int v) {return SetProp(CP_REALTIMESTYLE,v);}
  1428.  
  1429.     BOOL GetPropExport(string& v, int i) {return GetProp(CP_EXPORT,v,i);}
  1430.     BOOL SetPropExport(string v, int i) {return SetProp(CP_EXPORT,v,i);}
  1431.  
  1432.     BOOL GetPropTBBitmap(HPIC& v) {return GetProp(CP_TBBITMAP,v);}
  1433.     BOOL SetPropTBBitmap(HPIC v) {return SetProp(CP_TBBITMAP,v);}
  1434.  
  1435.     BOOL GetPropTBItemID(int& v, int i) {return GetProp(CP_TBITEMID,v,i);}
  1436.     BOOL SetPropTBItemID(int v, int i) {return SetProp(CP_TBITEMID,v,i);}
  1437.  
  1438.     BOOL GetPropTBItemStyle(long& v, int i) {return GetProp(CP_TBITEMSTYLE,v,i);}
  1439.     BOOL SetPropTBItemStyle(long v, int i) {return SetProp(CP_TBITEMSTYLE,v,i);}
  1440.     
  1441.     BOOL GetPropEnableTBItem(BOOL& v, int i) {return GetProp(CP_ENABLETBITEM,v,i);}
  1442.     BOOL SetPropEnableTBItem(BOOL v, int i) {return SetProp(CP_ENABLETBITEM,v,i);}
  1443.     
  1444.     BOOL GetPropMultiYAxis(int& v, int i) {return GetProp(CP_MULTIYAXIS,v,i);}
  1445.     BOOL SetPropMultiYAxis(int v, int i) {return SetProp(CP_MULTIYAXIS,v,i);}
  1446.  
  1447.     BOOL GetPropToolStyle(long& v, int i) {return GetProp(CP_TOOLSTYLE,v,i);}
  1448.     BOOL SetPropToolStyle(long v, int i) {return SetProp(CP_TOOLSTYLE,v,i);}
  1449.  
  1450.     BOOL GetPropZoom(int& v) {return GetProp(CP_ZOOM,v);}
  1451.     BOOL SetPropZoom(int v) {return SetProp(CP_ZOOM,v);}
  1452.  
  1453.     BOOL GetPropItemBkColor(COLORREF& v, int i) {return GetProp(CP_ITEMBKCOLOR,v,i);}
  1454.     BOOL SetPropItemBkColor(COLORREF v, int i) {return SetProp(CP_ITEMBKCOLOR,v,i);}
  1455.  
  1456.     BOOL SetPropImport(long v, int i) {return SetProp(CP_IMPORT,v,i);}
  1457.  
  1458.     BOOL GetPropSeparateSlice(int& v, int i) {return GetProp(CP_SEPARATESLICE,v,i);}
  1459.     BOOL SetPropSeparateSlice(int v, int i) {return SetProp(CP_SEPARATESLICE,v,i);}
  1460.  
  1461.     BOOL GetPropPaintInfo(long& v, int i) {return GetProp(CP_PAINTINFO,v,i);}
  1462.     BOOL SetPropPaintInfo(long v, int i) {return SetProp(CP_PAINTINFO,v,i);}
  1463.  
  1464.     BOOL GetPropToolSize(long& v, int i) {return GetProp(CP_TOOLSIZE,v,i);}
  1465.     BOOL SetPropToolSize(long v, int i) {return SetProp(CP_TOOLSIZE,v,i);}
  1466.  
  1467.     BOOL SetPropExportStr(string v, int i) {return SetProp(CP_EXPORTSTR,v,i);}
  1468.  
  1469.     BOOL SetPropImportStr(string v, int i) {return SetProp(CP_IMPORTSTR,v,i);}
  1470.  
  1471.     BOOL GetPropToolPos(long& v, int i) {return GetProp(CP_TOOLPOS,v,i);}
  1472.     BOOL SetPropToolPos(long v, int i) {return SetProp(CP_TOOLPOS,v,i);}
  1473.  
  1474.     BOOL GetPropTypeEx(long& v) {return GetProp(CP_TYPEEX,v);}
  1475.     BOOL SetPropTypeEx(long v) {return SetProp(CP_TYPEEX,v);}
  1476.  
  1477.     BOOL GetPropStyleEx(long& v) {return GetProp(CP_STYLEEX,v);}
  1478.     BOOL SetPropStyleEx(long v) {return SetProp(CP_STYLEEX,v);}
  1479.  
  1480.     BOOL GetPropMouseCapture(BOOL& v) {return GetProp(CP_MOUSECAPTURE,v);}
  1481.     BOOL SetPropMouseCapture(BOOL v) {return SetProp(CP_MOUSECAPTURE,v);}
  1482.  
  1483.     BOOL GetPropLegStyle(long& v) {return GetProp(CP_LEGSTYLE,v);}
  1484.     BOOL SetPropLegStyle(long v) {return SetProp(CP_LEGSTYLE,v);}
  1485.  
  1486.     BOOL GetPropMultiLineStyle(long& v, int i) {return GetProp(CP_MULTILINESTYLE,v,i);}
  1487.     BOOL SetPropMultiLineStyle(long v, int i) {return SetProp(CP_MULTILINESTYLE,v,i);}
  1488.  
  1489.     BOOL GetPropCurrentAxis(int& v) {return GetProp(CP_CURRENTAXIS,v);}
  1490.     BOOL SetPropCurrentAxis(int v) {return SetProp(CP_CURRENTAXIS,v);}
  1491.  
  1492.     BOOL GetPropEnabled(BOOL& v) {return GetProp(CP_ENABLED,v);}
  1493.     BOOL SetPropEnabled(BOOL v) {return SetProp(CP_ENABLED,v);}
  1494.  
  1495.     BOOL GetPropCustomTool(long& v) {return GetProp(CP_CUSTOMTOOL,v);}
  1496.     BOOL SetPropCustomTool(long v) {return SetProp(CP_CUSTOMTOOL,v);}
  1497.  
  1498.     BOOL GetPropMultiPoint(int& v, int i) {return GetProp(CP_MULTIPOINT,v,i);}
  1499.     BOOL SetPropMultiPoint(int v, int i) {return SetProp(CP_MULTIPOINT,v,i);}
  1500.  
  1501. #if 0
  1502.   DECLARE_RESPONSE_TABLE(TVbxChartFX20);
  1503. #endif
  1504. };
  1505.  
  1506. #if 0
  1507. // OWL response table
  1508. DEFINE_RESPONSE_TABLE1(TVbxChartFX20, TVbxControl)
  1509.   EV_VBXEVENTINDEX( IDC_ChartFX20, Event_ChartFX20_LButtonDblClk, EvLButtonDblClk ),
  1510.   EV_VBXEVENTINDEX( IDC_ChartFX20, Event_ChartFX20_RButtonDown, EvRButtonDown ),
  1511.   EV_VBXEVENTINDEX( IDC_ChartFX20, Event_ChartFX20_ChangeValue, EvChangeValue ),
  1512.   EV_VBXEVENTINDEX( IDC_ChartFX20, Event_ChartFX20_ChangeString, EvChangeString ),
  1513.   EV_VBXEVENTINDEX( IDC_ChartFX20, Event_ChartFX20_ChangeColor, EvChangeColor ),
  1514.   EV_VBXEVENTINDEX( IDC_ChartFX20, Event_ChartFX20_Destroy, EvDestroy ),
  1515.   EV_VBXEVENTINDEX( IDC_ChartFX20, Event_ChartFX20_ReadFile, EvReadFile ),
  1516.   EV_VBXEVENTINDEX( IDC_ChartFX20, Event_ChartFX20_ChangePalette, EvChangePalette ),
  1517.   EV_VBXEVENTINDEX( IDC_ChartFX20, Event_ChartFX20_ChangeFont, EvChangeFont ),
  1518.   EV_VBXEVENTINDEX( IDC_ChartFX20, Event_ChartFX20_ReadTemplate, EvReadTemplate ),
  1519.   EV_VBXEVENTINDEX( IDC_ChartFX20, Event_ChartFX20_ChangePattern, EvChangePattern ),
  1520.   EV_VBXEVENTINDEX( IDC_ChartFX20, Event_ChartFX20_ChangePattPal, EvChangePattPal ),
  1521.   EV_VBXEVENTINDEX( IDC_ChartFX20, Event_ChartFX20_Menu, EvMenu ),
  1522.   EV_VBXEVENTINDEX( IDC_ChartFX20, Event_ChartFX20_ChangeType, EvChangeType ),
  1523.   EV_VBXEVENTINDEX( IDC_ChartFX20, Event_ChartFX20_Scroll, EvScroll ),
  1524.   EV_VBXEVENTINDEX( IDC_ChartFX20, Event_ChartFX20_GetLegend, EvGetLegend ),
  1525.   EV_VBXEVENTINDEX( IDC_ChartFX20, Event_ChartFX20_InternalCommand, EvInternalCommand ),
  1526.   EV_VBXEVENTINDEX( IDC_ChartFX20, Event_ChartFX20_UserCommand, EvUserCommand ),
  1527.   EV_VBXEVENTINDEX( IDC_ChartFX20, Event_ChartFX20_ShowToolBar, EvShowToolBar ),
  1528.   EV_VBXEVENTINDEX( IDC_ChartFX20, Event_ChartFX20_PrePaint, EvPrePaint ),
  1529.   EV_VBXEVENTINDEX( IDC_ChartFX20, Event_ChartFX20_PostPaint, EvPostPaint ),
  1530.   EV_VBXEVENTINDEX( IDC_ChartFX20, Event_ChartFX20_PaintMarker, EvPaintMarker ),
  1531.   EV_VBXEVENTINDEX( IDC_ChartFX20, Event_ChartFX20_LButtonDown, EvLButtonDown ),
  1532.   EV_VBXEVENTINDEX( IDC_ChartFX20, Event_ChartFX20_LButtonUp, EvLButtonUp ),
  1533.   EV_VBXEVENTINDEX( IDC_ChartFX20, Event_ChartFX20_RButtomUp, EvRButtonUp ),
  1534.   EV_VBXEVENTINDEX( IDC_ChartFX20, Event_ChartFX20_RButtonDblClk, EvRButtonDblClk ),
  1535.   EV_VBXEVENTINDEX( IDC_ChartFX20, Event_ChartFX20_MouseMove, EvMouseMove ),
  1536. END_RESPONSE_TABLE;
  1537. #endif
  1538.  
  1539. // SFX
  1540.  
  1541. #define VBX_STDARGNUM(type,event,index)  *(((type FAR * FAR *)(event)->ParamList)[index])
  1542.  
  1543. // CN_LBUTTONDBLCLK , CN_RBUTTONDOWN
  1544. // XPOS, YPOS, POINT, SERIES, RESERVED
  1545. #define CNP_YPOS(l)        VBX_STDARGNUM(int,l,3)
  1546. #define CNP_XPOS(l)        VBX_STDARGNUM(int,l,4)
  1547.  
  1548. // CN_CHANGEVALUE
  1549. // VALUE, POINT, SERIES, RESERVED
  1550. #define CNP_VALUE(l)    VBX_STDARGNUM(double,l,3)
  1551.  
  1552. // CN_CHANGESTRING, CN_CHANGECOLOR, CN_CHANGEPATTERN
  1553. // INDEX, TYPE , RESERVED
  1554.  
  1555. // CN_CHANGEPALETTE, CN_CHANGEFONT, CN_CHANGEPATTPAL
  1556. // INDEX
  1557.  
  1558. // CN_MENU
  1559. // PARAM,POINT,SERIES,RESERVED
  1560. #define CNP_PARAM(l)    VBX_STDARGNUM(int,l,3)
  1561.  
  1562. // CN_CHANGETYPE
  1563. // NEWTYPE, RESERVED
  1564. #define CNP_NEWTYPE(l)    VBX_STDARGNUM(int,l,1)
  1565.  
  1566. // CN_SCROLL
  1567. // SCROLLMSG, SCROLLPARAM, RESERVED
  1568. #define CNP_SCROLLPARAM(l)    VBX_STDARGNUM(int,l,1)
  1569. #define CNP_SCROLLMSG(l)    VBX_STDARGNUM(int,l,2)
  1570.  
  1571. // CN_GETLEGEND
  1572. // INDEX, RESERVED
  1573.  
  1574. // CN_INTERNALCOMMAND, CN_USERCOMMAND
  1575. // WPARAM, LPARAM, RESERVED
  1576. #define CNP_LPARAM(l)        VBX_STDARGNUM(long,l,1)
  1577. #define CNP_WPARAM(l)        VBX_STDARGNUM(int,l,2)
  1578.  
  1579. // CN_SHOWTOOLBAR
  1580. // INDEX, RESERVED
  1581.  
  1582. // CN_PREPAINT, CN_POSTPAINT
  1583. // WPAINT, HPAINT, LPAINT, RESERVED
  1584. #define CNP_LPAINT(l)        VBX_STDARGNUM(long,l,1)
  1585. #define CNP_HPAINT(l)        VBX_STDARGNUM(int,l,2)
  1586. #define CNP_WPAINT(l)        VBX_STDARGNUM(int,l,3)
  1587.  
  1588. // CN_PAINTMARKER
  1589. // XMARKER, YMARKER, LPAINTMARKER, SERIES, POINT, RESERVED
  1590. #define CNP_LPAINTMARKER(l)        VBX_STDARGNUM(long,l,3)
  1591. #define CNP_YMARKER(l)            VBX_STDARGNUM(int,l,4)
  1592. #define CNP_XMARKER(l)            VBX_STDARGNUM(int,l,5)
  1593.  
  1594. // CN_LBUTTONDOWN, CN_LBUTTONUP, CN_RBUTTONUP, CN_RBUTTONDBLCLK, CN_MOUSEMOVE
  1595. // XMOUSE, YMOUSE, RESERVED
  1596. #define CNP_YMOUSE(l)        VBX_STDARGNUM(int,l,1)
  1597. #define CNP_XMOUSE(l)        VBX_STDARGNUM(int,l,2)
  1598.  
  1599. // Various Events
  1600. #define CNP_RESERVED(l)    VBX_STDARGNUM(int,l,0)
  1601. #define CNP_POINT(l)    VBX_STDARGNUM(int,l,1)
  1602. #define CNP_SERIE(l)    VBX_STDARGNUM(int,l,2)
  1603. #define CNP_SERIES(l)    VBX_STDARGNUM(int,l,2)
  1604. #define CNP_INDEX(l)    VBX_STDARGNUM(int,l,1)
  1605. #define CNP_TYPE(l)        VBX_STDARGNUM(int,l,2)
  1606.  
  1607. // Return Value
  1608. #define CNP_RETURNVALUE(event,i)    *(((int FAR * FAR *)(event)->ParamList)[0]) = (int) (i)
  1609.  
  1610.  
  1611. #endif
  1612.  
  1613.  
  1614.