Mapx.cpp
上传用户:jc6688
上传日期:2013-05-06
资源大小:344k
文件大小:145k
源码类别:

GPS编程

开发平台:

Visual C++

  1. #include "stdafx.h"
  2. #include "mapx.h"
  3. /////////////////////////////////////////////////////////////////////////////
  4. // CMapX
  5. IMPLEMENT_DYNCREATE(CMapX, CWnd)
  6. /////////////////////////////////////////////////////////////////////////////
  7. // CMapX properties
  8. CString CMapX::GetDataSetGeoField()
  9. {
  10. CString result;
  11. GetProperty(0x1, VT_BSTR, (void*)&result);
  12. return result;
  13. }
  14. void CMapX::SetDataSetGeoField(LPCTSTR propVal)
  15. {
  16. SetProperty(0x1, VT_BSTR, propVal);
  17. }
  18. CString CMapX::GetVersion()
  19. {
  20. CString result;
  21. GetProperty(0x2, VT_BSTR, (void*)&result);
  22. return result;
  23. }
  24. OLE_HANDLE CMapX::GetHWnd()
  25. {
  26. OLE_HANDLE result;
  27. GetProperty(DISPID_HWND, VT_I4, (void*)&result);
  28. return result;
  29. }
  30. CMapXAnnotations CMapX::GetAnnotations()
  31. {
  32. LPDISPATCH result;
  33. GetProperty(0x3, VT_DISPATCH, (void*)&result);
  34. return CMapXAnnotations(result);
  35. }
  36. CMapXLayers CMapX::GetLayers()
  37. {
  38. LPDISPATCH result;
  39. GetProperty(0x5, VT_DISPATCH, (void*)&result);
  40. return CMapXLayers(result);
  41. }
  42. BOOL CMapX::GetAutoRedraw()
  43. {
  44. BOOL result;
  45. GetProperty(0x6, VT_BOOL, (void*)&result);
  46. return result;
  47. }
  48. void CMapX::SetAutoRedraw(BOOL propVal)
  49. {
  50. SetProperty(0x6, VT_BOOL, propVal);
  51. }
  52. double CMapX::GetZoom()
  53. {
  54. double result;
  55. GetProperty(0x7, VT_R8, (void*)&result);
  56. return result;
  57. }
  58. void CMapX::SetZoom(double propVal)
  59. {
  60. SetProperty(0x7, VT_R8, propVal);
  61. }
  62. double CMapX::GetCenterX()
  63. {
  64. double result;
  65. GetProperty(0x8, VT_R8, (void*)&result);
  66. return result;
  67. }
  68. void CMapX::SetCenterX(double propVal)
  69. {
  70. SetProperty(0x8, VT_R8, propVal);
  71. }
  72. double CMapX::GetCenterY()
  73. {
  74. double result;
  75. GetProperty(0x9, VT_R8, (void*)&result);
  76. return result;
  77. }
  78. void CMapX::SetCenterY(double propVal)
  79. {
  80. SetProperty(0x9, VT_R8, propVal);
  81. }
  82. CString CMapX::GetGeoSet()
  83. {
  84. CString result;
  85. GetProperty(0xa, VT_BSTR, (void*)&result);
  86. return result;
  87. }
  88. void CMapX::SetGeoSet(LPCTSTR propVal)
  89. {
  90. SetProperty(0xa, VT_BSTR, propVal);
  91. }
  92. double CMapX::GetGeoSetWidth()
  93. {
  94. double result;
  95. GetProperty(0xb, VT_R8, (void*)&result);
  96. return result;
  97. }
  98. double CMapX::GetMapPaperHeight()
  99. {
  100. double result;
  101. GetProperty(0xc, VT_R8, (void*)&result);
  102. return result;
  103. }
  104. double CMapX::GetMapPaperWidth()
  105. {
  106. double result;
  107. GetProperty(0xd, VT_R8, (void*)&result);
  108. return result;
  109. }
  110. short CMapX::GetMaxSearchTime()
  111. {
  112. short result;
  113. GetProperty(0xe, VT_I2, (void*)&result);
  114. return result;
  115. }
  116. void CMapX::SetMaxSearchTime(short propVal)
  117. {
  118. SetProperty(0xe, VT_I2, propVal);
  119. }
  120. long CMapX::GetPaperUnit()
  121. {
  122. long result;
  123. GetProperty(0xf, VT_I4, (void*)&result);
  124. return result;
  125. }
  126. void CMapX::SetPaperUnit(long propVal)
  127. {
  128. SetProperty(0xf, VT_I4, propVal);
  129. }
  130. BOOL CMapX::GetPreferCompactLegends()
  131. {
  132. BOOL result;
  133. GetProperty(0x10, VT_BOOL, (void*)&result);
  134. return result;
  135. }
  136. void CMapX::SetPreferCompactLegends(BOOL propVal)
  137. {
  138. SetProperty(0x10, VT_BOOL, propVal);
  139. }
  140. CMapXStyle CMapX::GetDefaultStyle()
  141. {
  142. LPDISPATCH result;
  143. GetProperty(0x11, VT_DISPATCH, (void*)&result);
  144. return CMapXStyle(result);
  145. }
  146. void CMapX::SetDefaultStyle(LPDISPATCH propVal)
  147. {
  148. SetProperty(0x11, VT_DISPATCH, propVal);
  149. }
  150. CString CMapX::GetGeoDictionary()
  151. {
  152. CString result;
  153. GetProperty(0x12, VT_BSTR, (void*)&result);
  154. return result;
  155. }
  156. void CMapX::SetGeoDictionary(LPCTSTR propVal)
  157. {
  158. SetProperty(0x12, VT_BSTR, propVal);
  159. }
  160. long CMapX::GetDataSetTheme()
  161. {
  162. long result;
  163. GetProperty(0x13, VT_I4, (void*)&result);
  164. return result;
  165. }
  166. void CMapX::SetDataSetTheme(long propVal)
  167. {
  168. SetProperty(0x13, VT_I4, propVal);
  169. }
  170. long CMapX::GetCurrentTool()
  171. {
  172. long result;
  173. GetProperty(0x14, VT_I4, (void*)&result);
  174. return result;
  175. }
  176. void CMapX::SetCurrentTool(long propVal)
  177. {
  178. SetProperty(0x14, VT_I4, propVal);
  179. }
  180. long CMapX::GetMousePointer()
  181. {
  182. long result;
  183. GetProperty(0x15, VT_I4, (void*)&result);
  184. return result;
  185. }
  186. void CMapX::SetMousePointer(long propVal)
  187. {
  188. SetProperty(0x15, VT_I4, propVal);
  189. }
  190. CMapXDatasets CMapX::GetDatasets()
  191. {
  192. LPDISPATCH result;
  193. GetProperty(0x16, VT_DISPATCH, (void*)&result);
  194. return CMapXDatasets(result);
  195. }
  196. CMapXTitle CMapX::GetTitle()
  197. {
  198. LPDISPATCH result;
  199. GetProperty(0x17, VT_DISPATCH, (void*)&result);
  200. return CMapXTitle(result);
  201. }
  202. CString CMapX::GetTitleText()
  203. {
  204. CString result;
  205. GetProperty(0x18, VT_BSTR, (void*)&result);
  206. return result;
  207. }
  208. void CMapX::SetTitleText(LPCTSTR propVal)
  209. {
  210. SetProperty(0x18, VT_BSTR, propVal);
  211. }
  212. long CMapX::GetMapUnit()
  213. {
  214. long result;
  215. GetProperty(0x19, VT_I4, (void*)&result);
  216. return result;
  217. }
  218. void CMapX::SetMapUnit(long propVal)
  219. {
  220. SetProperty(0x19, VT_I4, propVal);
  221. }
  222. double CMapX::GetRotation()
  223. {
  224. double result;
  225. GetProperty(0x1a, VT_R8, (void*)&result);
  226. return result;
  227. }
  228. void CMapX::SetRotation(double propVal)
  229. {
  230. SetProperty(0x1a, VT_R8, propVal);
  231. }
  232. CMapXGeosets CMapX::GetGeosets()
  233. {
  234. LPDISPATCH result;
  235. GetProperty(0x1b, VT_DISPATCH, (void*)&result);
  236. return CMapXGeosets(result);
  237. }
  238. long CMapX::GetAreaUnit()
  239. {
  240. long result;
  241. GetProperty(0x1c, VT_I4, (void*)&result);
  242. return result;
  243. }
  244. void CMapX::SetAreaUnit(long propVal)
  245. {
  246. SetProperty(0x1c, VT_I4, propVal);
  247. }
  248. CMapXRectangle CMapX::GetBounds()
  249. {
  250. LPDISPATCH result;
  251. GetProperty(0x1d, VT_DISPATCH, (void*)&result);
  252. return CMapXRectangle(result);
  253. }
  254. void CMapX::SetBounds(LPDISPATCH propVal)
  255. {
  256. SetProperty(0x1d, VT_DISPATCH, propVal);
  257. }
  258. CMapXCoordSys CMapX::GetDisplayCoordSys()
  259. {
  260. LPDISPATCH result;
  261. GetProperty(0x1e, VT_DISPATCH, (void*)&result);
  262. return CMapXCoordSys(result);
  263. }
  264. void CMapX::SetDisplayCoordSys(LPDISPATCH propVal)
  265. {
  266. SetProperty(0x1e, VT_DISPATCH, propVal);
  267. }
  268. CMapXCoordSys CMapX::GetNumericCoordSys()
  269. {
  270. LPDISPATCH result;
  271. GetProperty(0x1f, VT_DISPATCH, (void*)&result);
  272. return CMapXCoordSys(result);
  273. }
  274. void CMapX::SetNumericCoordSys(LPDISPATCH propVal)
  275. {
  276. SetProperty(0x1f, VT_DISPATCH, propVal);
  277. }
  278. BOOL CMapX::GetExportSelection()
  279. {
  280. BOOL result;
  281. GetProperty(0x20, VT_BOOL, (void*)&result);
  282. return result;
  283. }
  284. void CMapX::SetExportSelection(BOOL propVal)
  285. {
  286. SetProperty(0x20, VT_BOOL, propVal);
  287. }
  288. CMapXStyle CMapX::GetSelectionStyle()
  289. {
  290. LPDISPATCH result;
  291. GetProperty(0x21, VT_DISPATCH, (void*)&result);
  292. return CMapXStyle(result);
  293. }
  294. void CMapX::SetSelectionStyle(LPDISPATCH propVal)
  295. {
  296. SetProperty(0x21, VT_DISPATCH, propVal);
  297. }
  298. CMapXFeatureFactory CMapX::GetFeatureFactory()
  299. {
  300. LPDISPATCH result;
  301. GetProperty(0x31, VT_DISPATCH, (void*)&result);
  302. return CMapXFeatureFactory(result);
  303. }
  304. long CMapX::GetDefaultConversionResolution()
  305. {
  306. long result;
  307. GetProperty(0x32, VT_I4, (void*)&result);
  308. return result;
  309. }
  310. void CMapX::SetDefaultConversionResolution(long propVal)
  311. {
  312. SetProperty(0x32, VT_I4, propVal);
  313. }
  314. OLE_COLOR CMapX::GetBackColor()
  315. {
  316. OLE_COLOR result;
  317. GetProperty(DISPID_BACKCOLOR, VT_I4, (void*)&result);
  318. return result;
  319. }
  320. void CMapX::SetBackColor(OLE_COLOR propVal)
  321. {
  322. SetProperty(DISPID_BACKCOLOR, VT_I4, propVal);
  323. }
  324. long CMapX::GetMousewheelSupport()
  325. {
  326. long result;
  327. GetProperty(0x33, VT_I4, (void*)&result);
  328. return result;
  329. }
  330. void CMapX::SetMousewheelSupport(long propVal)
  331. {
  332. SetProperty(0x33, VT_I4, propVal);
  333. }
  334. BOOL CMapX::GetMatchNumericFields()
  335. {
  336. BOOL result;
  337. GetProperty(0x34, VT_BOOL, (void*)&result);
  338. return result;
  339. }
  340. void CMapX::SetMatchNumericFields(BOOL propVal)
  341. {
  342. SetProperty(0x34, VT_BOOL, propVal);
  343. }
  344. double CMapX::GetMapScreenWidth()
  345. {
  346. double result;
  347. GetProperty(0x35, VT_R8, (void*)&result);
  348. return result;
  349. }
  350. double CMapX::GetMapScreenHeight()
  351. {
  352. double result;
  353. GetProperty(0x36, VT_R8, (void*)&result);
  354. return result;
  355. }
  356. long CMapX::GetRedrawInterval()
  357. {
  358.   long result;
  359. GetProperty(0x37, VT_I4, (void*)&result);
  360. return result;
  361. }
  362. void CMapX::SetRedrawInterval(long propVal)
  363. {
  364. SetProperty(0x37, VT_I4, propVal);
  365. }
  366. CString CMapX::GetSearchPath()
  367. {
  368. CString result;
  369. GetProperty(0x38, VT_BSTR, (void*)&result);
  370. return result;
  371. }
  372. void CMapX::SetSearchPath(LPCTSTR propVal)
  373. {
  374. SetProperty(0x38, VT_BSTR, propVal);
  375. }
  376. short CMapX::GetMatchThreshold()
  377. {
  378.   short result;
  379. GetProperty(0x39, VT_I2, (void*)&result);
  380. return result;
  381. }
  382. void CMapX::SetMatchThreshold(short propVal)
  383. {
  384. SetProperty(0x39, VT_I2, propVal);
  385. }
  386. BOOL CMapX::GetWaitCursorEnabled()
  387. {
  388.   BOOL result;
  389. GetProperty(0x3a, VT_BOOL, (void*)&result);
  390. return result;
  391. }
  392. void CMapX::SetWaitCursorEnabled(BOOL propVal)
  393. {
  394. SetProperty(0x3a, VT_BOOL, propVal);
  395. }
  396. BOOL CMapX::GetPanAnimationLayer()
  397. {
  398.   BOOL result;
  399. GetProperty(0x3c, VT_BOOL, (void*)&result);
  400. return result;
  401. }
  402. void CMapX::SetPanAnimationLayer(BOOL propVal)
  403. {
  404. SetProperty(0x3c, VT_BOOL, propVal);
  405. }
  406. long CMapX::GetInfotipPopupDelay()
  407. {
  408. long result;
  409. GetProperty(0x3d, VT_I4, (void*)&result);
  410. return result;
  411. }
  412. void CMapX::SetInfotipPopupDelay(long propVal)
  413. {
  414. SetProperty(0x3d, VT_I4, propVal);
  415. }
  416. CString CMapX::GetMouseIcon()
  417. {
  418. CString result;
  419. GetProperty(0x3e, VT_BSTR, (void*)&result);
  420. return result;
  421. }
  422. void CMapX::SetMouseIcon(LPCTSTR propVal)
  423. {
  424. SetProperty(0x3e, VT_BSTR, propVal);
  425. }
  426. BOOL CMapX::GetInfotipSupport()
  427. {
  428.   BOOL result;
  429. GetProperty(0x3f, VT_BOOL, (void*)&result);
  430. return result;
  431. }
  432. void CMapX::SetInfotipSupport(BOOL propVal)
  433. {
  434. SetProperty(0x3f, VT_BOOL, propVal);
  435. }
  436. short CMapX::GetFeatureEditMode()
  437. {
  438. short result;
  439. GetProperty(0x41, VT_I2, (void*)&result);
  440. return result;
  441. }
  442. void CMapX::SetFeatureEditMode(short propVal)
  443. {
  444. SetProperty(0x41, VT_I2, propVal);
  445. }
  446. long CMapX::GetCheckEscapeKeyInterval()
  447. {
  448. long result;
  449. GetProperty(0x43, VT_I4, (void*)&result);
  450. return result;
  451. }
  452. void CMapX::SetCheckEscapeKeyInterval(long propVal)
  453. {
  454. SetProperty(0x43, VT_I4, propVal);
  455. }
  456. /////////////////////////////////////////////////////////////////////////////
  457. // CMapX operations
  458. void CMapX::ConvertCoord(float* ScreenX, float* ScreenY, double* MapX, double* MapY, short Direction)
  459. {
  460. static BYTE parms[] =
  461. VTS_PR4 VTS_PR4 VTS_PR8 VTS_PR8 VTS_I2;
  462. InvokeHelper(0x22, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
  463.  ScreenX, ScreenY, MapX, MapY, Direction);
  464. }
  465. void CMapX::ZoomTo(double Zoom, double X, double Y)
  466. {
  467. static BYTE parms[] =
  468. VTS_R8 VTS_R8 VTS_R8;
  469. InvokeHelper(0x23, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
  470.  Zoom, X, Y);
  471. }
  472. void CMapX::CreateCustomTool(
  473. short ToolNumber, 
  474. short Type, 
  475. const VARIANT& Cursor, 
  476. const VARIANT& ShiftCursor, 
  477. const VARIANT& CtrlCursor, 
  478. const VARIANT& bInfoTips)
  479. {
  480. static BYTE parms[] =
  481. VTS_I2 VTS_I2 VTS_VARIANT VTS_VARIANT VTS_VARIANT VTS_VARIANT;
  482. InvokeHelper(0x24, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
  483.  ToolNumber, Type, &Cursor, &CtrlCursor, &ShiftCursor, &bInfoTips);
  484. }
  485. double CMapX::Distance(double X1, double Y1, double X2, double Y2)
  486. {
  487. double result;
  488. static BYTE parms[] =
  489. VTS_R8 VTS_R8 VTS_R8 VTS_R8;
  490. InvokeHelper(0x25, DISPATCH_METHOD, VT_R8, (void*)&result, parms,
  491. X1, Y1, X2, Y2);
  492. return result;
  493. }
  494. void CMapX::Refresh()
  495. {
  496. InvokeHelper(DISPID_REFRESH, DISPATCH_METHOD, VT_EMPTY, NULL, NULL);
  497. }
  498. void CMapX::PrintMap(long hDC, long X, long Y, long W, long H)
  499. {
  500. static BYTE parms[] =
  501. VTS_I4 VTS_I4 VTS_I4 VTS_I4 VTS_I4;
  502. InvokeHelper(0x26, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
  503.  hDC, X, Y, W, H);
  504. }
  505. void CMapX::ExportMap(LPCTSTR Destination, short Format, const VARIANT& Width, const VARIANT& Height)
  506. {
  507. static BYTE parms[] =
  508. VTS_BSTR VTS_I2 VTS_VARIANT VTS_VARIANT;
  509. InvokeHelper(0x27, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
  510.  Destination, Format, &Width, &Height);
  511. }
  512. void CMapX::PropertyPage()
  513. {
  514. InvokeHelper(0x28, DISPATCH_METHOD, VT_EMPTY, NULL, NULL);
  515. }
  516. void CMapX::ConvertCoordV(VARIANT* ScreenX, VARIANT* ScreenY, VARIANT* MapX, VARIANT* MapY, short Direction)
  517. {
  518. static BYTE parms[] =
  519. VTS_PVARIANT VTS_PVARIANT VTS_PVARIANT VTS_PVARIANT VTS_I2;
  520. InvokeHelper(0x29, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
  521.  ScreenX, ScreenY, MapX, MapY, Direction);
  522. }
  523. void CMapX::SetSize(long Width, long Height)
  524. {
  525. static BYTE parms[] =
  526. VTS_I4 VTS_I4;
  527. InvokeHelper(0x2a, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
  528.  Width, Height);
  529. }
  530. BOOL CMapX::IsPointVisible(double X, double Y)
  531. {
  532. BOOL result;
  533. static BYTE parms[] =
  534. VTS_R8 VTS_R8;
  535. InvokeHelper(0x2b, DISPATCH_METHOD, VT_BOOL, (void*)&result, parms,
  536. X, Y);
  537. return result;
  538. }
  539. BOOL CMapX::ClipLine(double* X1, double* Y1, double* X2, double* Y2)
  540. {
  541. BOOL result;
  542. static BYTE parms[] =
  543. VTS_PR8 VTS_PR8 VTS_PR8 VTS_PR8;
  544. InvokeHelper(0x2c, DISPATCH_METHOD, VT_BOOL, (void*)&result, parms,
  545. X1, Y1, X2, Y2);
  546. return result;
  547. }
  548. BOOL CMapX::ClipLineV(VARIANT* X1, VARIANT* Y1, VARIANT* X2, VARIANT* Y2)
  549. {
  550. BOOL result;
  551. static BYTE parms[] =
  552. VTS_PVARIANT VTS_PVARIANT VTS_PVARIANT VTS_PVARIANT;
  553. InvokeHelper(0x2d, DISPATCH_METHOD, VT_BOOL, (void*)&result, parms,
  554. X1, Y1, X2, Y2);
  555. return result;
  556. }
  557. void CMapX::AboutBox()
  558. {
  559. InvokeHelper(0xfffffdd8, DISPATCH_METHOD, VT_EMPTY, NULL, NULL);
  560. }
  561. void CMapX::SaveMapAsGeoset(LPCTSTR Name, LPCTSTR Filespec)
  562. {
  563. static BYTE parms[] =
  564. VTS_BSTR VTS_BSTR;
  565. InvokeHelper(0x2f, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
  566. Name, Filespec);
  567. }
  568. LPDISPATCH CMapX::GetDispatch(BOOL bAddRef)
  569. {
  570. LPUNKNOWN pUnk = GetControlUnknown();
  571. LPDISPATCH pDispatch;
  572. if ((pUnk != NULL) && SUCCEEDED(pUnk->QueryInterface(IID_IDispatch, (LPVOID*)&pDispatch))) {
  573. ASSERT(pDispatch != NULL);
  574. if (!bAddRef) {
  575. pDispatch->Release();
  576. }
  577. return pDispatch;
  578. }
  579. return NULL;
  580. }
  581. void CMapX::Pan(float ScreenX, float ScreenY)
  582. {
  583. static BYTE parms[] =
  584. VTS_R4 VTS_R4;
  585. InvokeHelper(0x40, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
  586.  ScreenX, ScreenY);
  587. }
  588. /////////////////////////////////////////////////////////////////////////////
  589. // CMapXDatasets properties
  590. LPENUMVARIANT CMapXDatasets::GetEnumerator()
  591. {
  592. LPENUMVARIANT pEnumVariant = 0;
  593. LPUNKNOWN pUnknown = 0;
  594. GetProperty(0xfffffffc, VT_UNKNOWN, (void*)&pUnknown);
  595. if(pUnknown)
  596. {
  597. pUnknown->QueryInterface(IID_IEnumVARIANT, (void**)&pEnumVariant);
  598. pUnknown->Release();
  599. }
  600. return pEnumVariant;
  601. }
  602. long CMapXDatasets::GetCount()
  603. {
  604. long result;
  605. GetProperty(0x1, VT_I4, (void*)&result);
  606. return result;
  607. }
  608. BOOL CMapXDatasets::GetBuildSourceRows()
  609. {
  610.   BOOL result;
  611. GetProperty(0x7, VT_BOOL, &result);
  612. return result;
  613. }
  614. void CMapXDatasets::SetBuildSourceRows(BOOL b)
  615. {
  616. SetProperty(0x7, VT_BOOL, b);
  617. }
  618. /////////////////////////////////////////////////////////////////////////////
  619. // CMapXDatasets operations
  620. CMapXDataset CMapXDatasets::Add(long Type, const VARIANT& SourceData, const VARIANT& Name, const VARIANT& GeoField, const VARIANT& SecondaryGeoField, const VARIANT& BindLayer, const VARIANT& Fields, const VARIANT& Dynamic)
  621. {
  622. LPDISPATCH result;
  623. static BYTE parms[] =
  624. VTS_I4 VTS_VARIANT VTS_VARIANT VTS_VARIANT VTS_VARIANT VTS_VARIANT VTS_VARIANT VTS_VARIANT;
  625. InvokeHelper(0x2, DISPATCH_METHOD, VT_DISPATCH, (void*)&result, parms,
  626. Type, &SourceData, &Name, &GeoField, &SecondaryGeoField, &BindLayer, &Fields, &Dynamic);
  627. return CMapXDataset(result);
  628. }
  629. CMapXDataset CMapXDatasets::Item(const VARIANT& Index)
  630. {
  631. LPDISPATCH result;
  632. static BYTE parms[] =
  633. VTS_VARIANT;
  634. InvokeHelper(0x3, DISPATCH_METHOD, VT_DISPATCH, (void*)&result, parms,
  635. &Index);
  636. return CMapXDataset(result);
  637. }
  638. void CMapXDatasets::Remove(const VARIANT& Index)
  639. {
  640. static BYTE parms[] =
  641. VTS_VARIANT;
  642. InvokeHelper(0x4, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
  643.  &Index);
  644. }
  645. CMapXDataset CMapXDatasets::Restore(LPCTSTR Name, const VARIANT& SourceData)
  646. {
  647. LPDISPATCH result;
  648. static BYTE parms[] =
  649. VTS_BSTR VTS_VARIANT;
  650. InvokeHelper(0x5, DISPATCH_METHOD, VT_DISPATCH, (void*)&result, parms,
  651. Name, &SourceData);
  652. return CMapXDataset(result);
  653. }
  654. void CMapXDatasets::RemoveAll()
  655. {
  656. InvokeHelper(0x6, DISPATCH_METHOD, VT_EMPTY, NULL, NULL);
  657. }
  658. /////////////////////////////////////////////////////////////////////////////
  659. // CMapXLayers properties
  660. LPENUMVARIANT CMapXLayers::GetEnumerator()
  661. {
  662. LPENUMVARIANT pEnumVariant = 0;
  663. LPUNKNOWN pUnknown = 0;
  664. GetProperty(0xfffffffc, VT_UNKNOWN, (void*)&pUnknown);
  665. if(pUnknown)
  666. {
  667. pUnknown->QueryInterface(IID_IEnumVARIANT, (void**)&pEnumVariant);
  668. pUnknown->Release();
  669. }
  670. return pEnumVariant;
  671. }
  672. long CMapXLayers::GetCount()
  673. {
  674. long result;
  675. GetProperty(0x1, VT_I4, (void*)&result);
  676. return result;
  677. }
  678. /////////////////////////////////////////////////////////////////////////////
  679. // CMapXLayers operations
  680. void CMapXLayers::ClearSelection()
  681. {
  682. InvokeHelper(0x2, DISPATCH_METHOD, VT_EMPTY, NULL, NULL);
  683. }
  684. BOOL CMapXLayers::Move(short From, short To)
  685. {
  686. BOOL result;
  687. static BYTE parms[] =
  688. VTS_I2 VTS_I2;
  689. InvokeHelper(0x3, DISPATCH_METHOD, VT_BOOL, (void*)&result, parms,
  690. From, To);
  691. return result;
  692. }
  693. CMapXLayer CMapXLayers::Add(const VARIANT& LayerInfo, const VARIANT& Position)
  694. {
  695. LPDISPATCH result;
  696. static BYTE parms[] =
  697. VTS_VARIANT VTS_VARIANT;
  698. InvokeHelper(0x4, DISPATCH_METHOD, VT_DISPATCH, (void*)&result, parms,
  699. &LayerInfo, &Position);
  700. return CMapXLayer(result);
  701. }
  702. void CMapXLayers::AddGeoSetLayers(LPCTSTR GeoSetName)
  703. {
  704. static BYTE parms[] =
  705. VTS_BSTR;
  706. InvokeHelper(0x5, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
  707.  GeoSetName);
  708. }
  709. CMapXLayer CMapXLayers::Item(const VARIANT& Index)
  710. {
  711. LPDISPATCH result;
  712. static BYTE parms[] =
  713. VTS_VARIANT;
  714. InvokeHelper(0x6, DISPATCH_METHOD, VT_DISPATCH, (void*)&result, parms,
  715. &Index);
  716. return CMapXLayer(result);
  717. }
  718. void CMapXLayers::Remove(const VARIANT& Index)
  719. {
  720. static BYTE parms[] =
  721. VTS_VARIANT;
  722. InvokeHelper(0x7, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
  723.  &Index);
  724. }
  725. CMapXLayer CMapXLayers::AddUserDrawLayer(LPCTSTR Name, short Position)
  726. {
  727. LPDISPATCH result;
  728. static BYTE parms[] =
  729. VTS_BSTR VTS_I2;
  730. InvokeHelper(0x8, DISPATCH_METHOD, VT_DISPATCH, (void*)&result, parms,
  731. Name, Position);
  732. return CMapXLayer(result);
  733. }
  734. CMapXLayer CMapXLayers::GetAnimationLayer()
  735. {
  736. LPDISPATCH result;
  737. GetProperty(0x9, VT_DISPATCH, (void*)&result);
  738. return CMapXLayer(result);
  739. }
  740. void CMapXLayers::SetAnimationLayer(LPDISPATCH propVal)
  741. {
  742. SetProperty(0x9, VT_DISPATCH, propVal);
  743. }
  744. CMapXRectangle CMapXLayers::GetBounds()
  745. {
  746. LPDISPATCH result;
  747. GetProperty(0xc, VT_DISPATCH, (void*)&result);
  748. return CMapXRectangle(result);
  749. }
  750. CMapXLayer CMapXLayers::CreateLayer(LPCTSTR Name, const VARIANT& Filespec, const VARIANT& Position, const VARIANT& KeyLength, const VARIANT& CoordSys)
  751. {
  752. LPDISPATCH result;
  753. static BYTE parms[] =
  754. VTS_BSTR VTS_VARIANT VTS_VARIANT VTS_VARIANT VTS_VARIANT;
  755. InvokeHelper(0xa, DISPATCH_METHOD, VT_DISPATCH, (void*)&result, parms,
  756. Name, &Filespec, &Position, &KeyLength, &CoordSys);
  757. return CMapXLayer(result);
  758. }
  759. BOOL CMapXLayers::LayersDlg(const VARIANT& HelpFile, const VARIANT& HelpID)
  760. {
  761. BOOL result;
  762. static BYTE parms[] =
  763. VTS_VARIANT VTS_VARIANT;
  764. InvokeHelper(0xb, DISPATCH_METHOD, VT_BOOL, (void*)&result, parms,
  765. &HelpFile, &HelpID);
  766. return result;
  767. }
  768. CMapXLayer CMapXLayers::AddServerLayer(LPCTSTR Name, LPCTSTR ConnectString, LPCTSTR Query, const VARIANT& Position, const VARIANT& Options)
  769. {
  770. LPDISPATCH result;
  771. static BYTE parms[] =
  772. VTS_BSTR VTS_BSTR VTS_BSTR VTS_VARIANT VTS_VARIANT;
  773. InvokeHelper(0xd, DISPATCH_METHOD, VT_DISPATCH, (void*)&result, parms,
  774. Name, ConnectString, Query, &Position, &Options);
  775. return CMapXLayer(result);
  776. }
  777. void CMapXLayers::RemoveAll()
  778. {
  779. InvokeHelper(0xe, DISPATCH_METHOD, VT_EMPTY, NULL, NULL);
  780. }
  781. CMapXLayer CMapXLayers::GetInsertionLayer()
  782. {
  783. LPDISPATCH pDispatch;
  784. GetProperty(0xf, VT_DISPATCH, (void*)&pDispatch);
  785. return CMapXLayer(pDispatch);
  786. }
  787. void CMapXLayers::SetInsertionLayer(LPDISPATCH propVal)
  788. {
  789. SetProperty(0xf, VT_DISPATCH, propVal);
  790. }
  791. /////////////////////////////////////////////////////////////////////////////
  792. // CMapXLayer properties
  793. CString CMapXLayer::GetName()
  794. {
  795. CString result;
  796. GetProperty(0x1, VT_BSTR, (void*)&result);
  797. return result;
  798. }
  799. void CMapXLayer::SetName(LPCTSTR propVal)
  800. {
  801. SetProperty(0x1, VT_BSTR, propVal);
  802. }
  803. BOOL CMapXLayer::GetVisible()
  804. {
  805. BOOL result;
  806. GetProperty(0x2, VT_BOOL, (void*)&result);
  807. return result;
  808. }
  809. void CMapXLayer::SetVisible(BOOL propVal)
  810. {
  811. SetProperty(0x2, VT_BOOL, propVal);
  812. }
  813. BOOL CMapXLayer::GetSelectable()
  814. {
  815. BOOL result;
  816. GetProperty(0x3, VT_BOOL, (void*)&result);
  817. return result;
  818. }
  819. void CMapXLayer::SetSelectable(BOOL propVal)
  820. {
  821. SetProperty(0x3, VT_BOOL, propVal);
  822. }
  823. CString CMapXLayer::GetFilespec()
  824. {
  825. CString result;
  826. GetProperty(0x4, VT_BSTR, (void*)&result);
  827. return result;
  828. }
  829. CMapXLabelProperties CMapXLayer::GetLabelProperties()
  830. {
  831. LPDISPATCH result;
  832. GetProperty(0x5, VT_DISPATCH, (void*)&result);
  833. return CMapXLabelProperties(result);
  834. }
  835. BOOL CMapXLayer::GetAutoLabel()
  836. {
  837. BOOL result;
  838. GetProperty(0x6, VT_BOOL, (void*)&result);
  839. return result;
  840. }
  841. void CMapXLayer::SetAutoLabel(BOOL propVal)
  842. {
  843. SetProperty(0x6, VT_BOOL, propVal);
  844. }
  845. BOOL CMapXLayer::GetZoomLayer()
  846. {
  847. BOOL result;
  848. GetProperty(0x7, VT_BOOL, (void*)&result);
  849. return result;
  850. }
  851. void CMapXLayer::SetZoomLayer(BOOL propVal)
  852. {
  853. SetProperty(0x7, VT_BOOL, propVal);
  854. }
  855. BOOL CMapXLayer::GetOverrideStyle()
  856. {
  857. BOOL result;
  858. GetProperty(0x8, VT_BOOL, (void*)&result);
  859. return result;
  860. }
  861. void CMapXLayer::SetOverrideStyle(BOOL propVal)
  862. {
  863. SetProperty(0x8, VT_BOOL, propVal);
  864. }
  865. CMapXStyle CMapXLayer::GetStyle()
  866. {
  867. LPDISPATCH result;
  868. GetProperty(0x9, VT_DISPATCH, (void*)&result);
  869. return CMapXStyle(result);
  870. }
  871. void CMapXLayer::SetStyle(LPDISPATCH propVal)
  872. {
  873. SetProperty(0x9, VT_DISPATCH, propVal);
  874. }
  875. double CMapXLayer::GetZoomMin()
  876. {
  877. double result;
  878. GetProperty(0xa, VT_R8, (void*)&result);
  879. return result;
  880. }
  881. void CMapXLayer::SetZoomMin(double propVal)
  882. {
  883. SetProperty(0xa, VT_R8, propVal);
  884. }
  885. double CMapXLayer::GetZoomMax()
  886. {
  887. double result;
  888. GetProperty(0xb, VT_R8, (void*)&result);
  889. return result;
  890. }
  891. void CMapXLayer::SetZoomMax(double propVal)
  892. {
  893. SetProperty(0xb, VT_R8, propVal);
  894. }
  895. CMapXSelection CMapXLayer::GetSelection()
  896. {
  897. LPDISPATCH result;
  898. GetProperty(0xc, VT_DISPATCH, (void*)&result);
  899. return CMapXSelection(result);
  900. }
  901. short CMapXLayer::GetPredominantFeatureType()
  902. {
  903. short result;
  904. GetProperty(0xd, VT_I2, (void*)&result);
  905. return result;
  906. }
  907. CMapXLayerFind CMapXLayer::GetFind()
  908. {
  909. LPDISPATCH result;
  910. GetProperty(0xe, VT_DISPATCH, (void*)&result);
  911. return CMapXLayerFind(result);
  912. }
  913. short CMapXLayer::GetType()
  914. {
  915. short result;
  916. GetProperty(0xf, VT_I2, (void*)&result);
  917. return result;
  918. }
  919. CString CMapXLayer::GetKeyField()
  920. {
  921. CString result;
  922. GetProperty(0x10, VT_BSTR, (void*)&result);
  923. return result;
  924. }
  925. void CMapXLayer::SetKeyField(LPCTSTR propVal)
  926. {
  927. SetProperty(0x10, VT_BSTR, propVal);
  928. }
  929. CMapXCoordSys CMapXLayer::GetCoordSys()
  930. {
  931. LPDISPATCH result;
  932. GetProperty(0x11, VT_DISPATCH, (void*)&result);
  933. return CMapXCoordSys(result);
  934. }
  935. CMapXRectangle CMapXLayer::GetBounds()
  936. {
  937. LPDISPATCH result;
  938. GetProperty(0x20, VT_DISPATCH, (void*)&result);
  939. return CMapXRectangle(result);
  940. }
  941. BOOL CMapXLayer::GetDrawLabelsAfter()
  942. {
  943. BOOL result;
  944. GetProperty(0x25, VT_BOOL, (void*)&result);
  945. return result;
  946. }
  947. void CMapXLayer::SetDrawLabelsAfter(BOOL propVal)
  948. {
  949. SetProperty(0x25, VT_BOOL, propVal);
  950. }
  951. CMapXDatasets CMapXLayer::GetDatasets()
  952. {
  953. LPDISPATCH result;
  954. GetProperty(0x27, VT_DISPATCH, (void*)&result);
  955. return CMapXDatasets(result);
  956. }
  957. BOOL CMapXLayer::GetShowNodes()
  958. {
  959. BOOL result;
  960. GetProperty(0x2b, VT_BOOL, (void*)&result);
  961. return result;
  962. }
  963. void CMapXLayer::SetShowNodes(BOOL propVal)
  964. {
  965. SetProperty(0x2b, VT_BOOL, propVal);
  966. }
  967. BOOL CMapXLayer::GetShowCentroids()
  968. {
  969. BOOL result;
  970. GetProperty(0x2c, VT_BOOL, (void*)&result);
  971. return result;
  972. }
  973. void CMapXLayer::SetShowCentroids(BOOL propVal)
  974. {
  975. SetProperty(0x2c, VT_BOOL, propVal);
  976. }
  977. BOOL CMapXLayer::GetShowLineDirection()
  978. {
  979. BOOL result;
  980. GetProperty(0x2d, VT_BOOL, (void*)&result);
  981. return result;
  982. }
  983. void CMapXLayer::SetShowLineDirection(BOOL propVal)
  984. {
  985. SetProperty(0x2d, VT_BOOL, propVal);
  986. }
  987. BOOL CMapXLayer::GetEditable()
  988. {
  989. BOOL result;
  990. GetProperty(0x2e, VT_BOOL, (void*)&result);
  991. return result;
  992. }
  993. void CMapXLayer::SetEditable(BOOL propVal)
  994. {
  995. SetProperty(0x2e, VT_BOOL, propVal);
  996. }
  997. /////////////////////////////////////////////////////////////////////////////
  998. // CMapXLayer operations
  999. void CMapXLayer::LabelAtPoint(double X, double Y)
  1000. {
  1001. static BYTE parms[] =
  1002. VTS_R8 VTS_R8;
  1003. InvokeHelper(0x12, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
  1004.  X, Y);
  1005. }
  1006. void CMapXLayer::ClearCustomLabels()
  1007. {
  1008. InvokeHelper(0x13, DISPATCH_METHOD, VT_EMPTY, NULL, NULL);
  1009. }
  1010. CMapXFeature CMapXLayer::AddFeature(LPDISPATCH Source, const VARIANT& RowValues)
  1011. {
  1012. LPDISPATCH result;
  1013. static BYTE parms[] =
  1014. VTS_DISPATCH VTS_VARIANT;
  1015. InvokeHelper(0x15, DISPATCH_METHOD, VT_DISPATCH, (void*)&result, parms,
  1016. Source, &RowValues);
  1017. return CMapXFeature(result);
  1018. }
  1019. void CMapXLayer::UpdateFeature(
  1020. const VARIANT& Target, 
  1021. const VARIANT& Source,
  1022. const VARIANT& RowValues)
  1023. {
  1024. static BYTE parms[] =
  1025. VTS_VARIANT VTS_VARIANT VTS_VARIANT;
  1026. InvokeHelper(0x14, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
  1027.  &Target, &Source, &RowValues);
  1028. }
  1029. void CMapXLayer::DeleteFeature(const VARIANT& Target)
  1030. {
  1031. static BYTE parms[] = VTS_VARIANT;
  1032. InvokeHelper(0x16, DISPATCH_METHOD, VT_EMPTY, NULL, parms, &Target);
  1033. }
  1034. void CMapXLayer::Invalidate(const VARIANT& InvalidRect)
  1035. {
  1036. static BYTE parms[] =
  1037. VTS_VARIANT;
  1038. InvokeHelper(0x17, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
  1039.  &InvalidRect);
  1040. }
  1041. CMapXFeatures CMapXLayer::SearchWithinDistance(LPDISPATCH Source, double Distance, short Units, short SearchType)
  1042. {
  1043. LPDISPATCH result;
  1044. static BYTE parms[] =
  1045. VTS_DISPATCH VTS_R8 VTS_I2 VTS_I2;
  1046. InvokeHelper(0x18, DISPATCH_METHOD, VT_DISPATCH, (void*)&result, parms,
  1047. Source, Distance, Units, SearchType);
  1048. return CMapXFeatures(result);
  1049. }
  1050. CMapXFeatures CMapXLayer::SearchWithinRectangle(LPDISPATCH Rectangle, short SearchType)
  1051. {
  1052. LPDISPATCH result;
  1053. static BYTE parms[] =
  1054. VTS_DISPATCH VTS_I2;
  1055. InvokeHelper(0x19, DISPATCH_METHOD, VT_DISPATCH, (void*)&result, parms,
  1056. Rectangle, SearchType);
  1057. return CMapXFeatures(result);
  1058. }
  1059. CMapXFeatures CMapXLayer::AllFeatures()
  1060. {
  1061. LPDISPATCH result;
  1062. InvokeHelper(0x1a, DISPATCH_METHOD, VT_DISPATCH, (void*)&result, NULL);
  1063. return CMapXFeatures(result);
  1064. }
  1065. CMapXFeatures CMapXLayer::NoFeatures()
  1066. {
  1067. LPDISPATCH result;
  1068. InvokeHelper(0x1b, DISPATCH_METHOD, VT_DISPATCH, (void*)&result, NULL);
  1069. return CMapXFeatures(result);
  1070. }
  1071. CMapXFeatures CMapXLayer::SearchWithinFeature(LPDISPATCH Feature, short SearchType)
  1072. {
  1073. LPDISPATCH result;
  1074. static BYTE parms[] =
  1075. VTS_DISPATCH VTS_I2;
  1076. InvokeHelper(0x1c, DISPATCH_METHOD, VT_DISPATCH, (void*)&result, parms,
  1077. Feature, SearchType);
  1078. return CMapXFeatures(result);
  1079. }
  1080. CMapXFeatures CMapXLayer::SearchAtPoint(LPDISPATCH Point)
  1081. {
  1082. LPDISPATCH result;
  1083. static BYTE parms[] = VTS_DISPATCH;
  1084. InvokeHelper(0x1d, DISPATCH_METHOD, VT_DISPATCH, (void*)&result, parms,
  1085. Point);
  1086. return CMapXFeatures(result);
  1087. }
  1088. void CMapXLayer::DrillDownRemoveFeatures(LPCTSTR Level, const VARIANT& FeatureKeys)
  1089. {
  1090. static BYTE parms[] =
  1091. VTS_BSTR VTS_VARIANT;
  1092. InvokeHelper(0x1e, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
  1093.  Level, &FeatureKeys);
  1094. }
  1095. void CMapXLayer::DrillDownAddFeatures(LPCTSTR Level, const VARIANT& FeatureKeys)
  1096. {
  1097. static BYTE parms[] =
  1098. VTS_BSTR VTS_VARIANT;
  1099. InvokeHelper(0x1f, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
  1100.  Level, &FeatureKeys);
  1101. }
  1102. CMapXFeatures CMapXLayer::GetDrilldownFeaturesByID(LPCTSTR Level, const VARIANT& FeatureKeys)
  1103. {
  1104. LPDISPATCH result;
  1105. static BYTE parms[] =
  1106. VTS_BSTR VTS_VARIANT;
  1107. InvokeHelper(0x21, DISPATCH_METHOD, VT_DISPATCH, (void *)&result, parms,
  1108.  Level, &FeatureKeys);
  1109. return CMapXFeatures(result);
  1110. }
  1111. void CMapXLayer::DrilldownReset(LPCTSTR Level)
  1112. {
  1113. static BYTE parms[] =
  1114. VTS_BSTR;
  1115. InvokeHelper(0x22, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
  1116.  Level);
  1117. }
  1118. CMapXFeature CMapXLayer::GetFeatureByID(long FeatureID)
  1119. {
  1120. LPDISPATCH result;
  1121. static BYTE parms[] =
  1122. VTS_I4;
  1123. InvokeHelper(0x23, DISPATCH_METHOD, VT_DISPATCH, (void*)&result, parms,
  1124. FeatureID);
  1125. return CMapXFeature(result);
  1126. }
  1127. void CMapXLayer::Refresh()
  1128. {
  1129. InvokeHelper(0x24, DISPATCH_METHOD, VT_EMPTY, NULL, NULL);
  1130. }
  1131. long CMapXLayer::FeatureIDFromFeatureName(LPCTSTR Name)
  1132. {
  1133. long result;
  1134. static BYTE parms[] =
  1135. VTS_BSTR;
  1136. InvokeHelper(0x26, DISPATCH_METHOD, VT_I4, &result, parms, Name);
  1137. return result;
  1138. }
  1139. CMapXFeatures CMapXLayer::Search(LPCTSTR strWhere, const VARIANT& Variables)
  1140. {
  1141. LPDISPATCH result;
  1142. static BYTE parms[] = VTS_BSTR VTS_VARIANT;
  1143. InvokeHelper(0x28, DISPATCH_METHOD, VT_DISPATCH, (void *)&result, parms, strWhere, &Variables);
  1144. return CMapXFeatures(result);
  1145. }
  1146. void CMapXLayer::BeginAccess(long BeginAccessType)
  1147. {
  1148. static BYTE parms[] = VTS_I2;
  1149. InvokeHelper(0x29, DISPATCH_METHOD, VT_EMPTY, NULL, parms, BeginAccessType);
  1150. }
  1151. void CMapXLayer::EndAccess(const VARIANT& EndAccessType)
  1152. {
  1153. static BYTE parms[] = VTS_VARIANT;
  1154. InvokeHelper(0x2a, DISPATCH_METHOD, VT_EMPTY, NULL, parms, &EndAccessType);
  1155. }
  1156. CMapXFeature CMapXLayer::GetFeatureByKey(LPCTSTR FeatureKey)
  1157. {
  1158. LPDISPATCH result;
  1159. static BYTE parms[] = VTS_BSTR;
  1160. InvokeHelper(0x2f, DISPATCH_METHOD, VT_DISPATCH, (void *)&result, parms, FeatureKey);
  1161. return CMapXFeature(result);
  1162. }
  1163. CString CMapXLayer::FeatureKeyFromFeatureName(LPCTSTR strKeyValue)
  1164. {
  1165. CString result;
  1166. static BYTE parms[] = VTS_BSTR;
  1167. InvokeHelper(0x30, DISPATCH_METHOD, VT_BSTR, (void *)&result, parms, strKeyValue);
  1168. return result;
  1169. }
  1170. /////////////////////////////////////////////////////////////////////////////
  1171. // CMapXField properties
  1172. long CMapXField::GetType()
  1173. {
  1174. long result;
  1175. GetProperty(0x1, VT_I4, (void*)&result);
  1176. return result;
  1177. }
  1178. CString CMapXField::GetName()
  1179. {
  1180. CString result;
  1181. GetProperty(0x2, VT_BSTR, (void*)&result);
  1182. return result;
  1183. }
  1184. long CMapXField::GetAggregationFunction()
  1185. {
  1186. long result;
  1187. GetProperty(0x3, VT_I4, (void*)&result);
  1188. return result;
  1189. }
  1190. short CMapXField::GetWidth()
  1191. {
  1192. short result;
  1193. GetProperty(0x4, VT_I2, (void*)&result);
  1194. return result;
  1195. }
  1196. short CMapXField::GetPrecision()
  1197. {
  1198. short result;
  1199. GetProperty(0x5, VT_I2, (void*)&result);
  1200. return result;
  1201. }
  1202. short CMapXField::GetDecimals()
  1203. {
  1204. short result;
  1205. GetProperty(0x6, VT_I2, (void*)&result);
  1206. return result;
  1207. }
  1208. /////////////////////////////////////////////////////////////////////////////
  1209. // CMapXField operations
  1210. /////////////////////////////////////////////////////////////////////////////
  1211. // CMapXDataset properties
  1212. CString CMapXDataset::GetName()
  1213. {
  1214. CString result;
  1215. GetProperty(0x1, VT_BSTR, (void*)&result);
  1216. return result;
  1217. }
  1218. void CMapXDataset::SetName(LPCTSTR propVal)
  1219. {
  1220. SetProperty(0x1, VT_BSTR, propVal);
  1221. }
  1222. long CMapXDataset::GetRowCount()
  1223. {
  1224. long result;
  1225. GetProperty(0x2, VT_I4, (void*)&result);
  1226. return result;
  1227. }
  1228. CMapXFields CMapXDataset::GetFields()
  1229. {
  1230. LPDISPATCH result;
  1231. GetProperty(0x3, VT_DISPATCH, (void*)&result);
  1232. return CMapXFields(result);
  1233. }
  1234. CMapXThemes CMapXDataset::GetThemes()
  1235. {
  1236. LPDISPATCH result;
  1237. GetProperty(0x4, VT_DISPATCH, (void*)&result);
  1238. return CMapXThemes(result);
  1239. }
  1240. long CMapXDataset::GetGeoField()
  1241. {
  1242. long result;
  1243. GetProperty(0x5, VT_I4, (void*)&result);
  1244. return result;
  1245. }
  1246. long CMapXDataset::GetSecondaryGeoField()
  1247. {
  1248. long result;
  1249. GetProperty(0x6, VT_I4, (void*)&result);
  1250. return result;
  1251. }
  1252. CMapXLayer CMapXDataset::GetLayer()
  1253. {
  1254. LPDISPATCH result;
  1255. GetProperty(0x7, VT_DISPATCH, (void*)&result);
  1256. return CMapXLayer(result);
  1257. }
  1258. short CMapXDataset::GetType()
  1259. {
  1260. short result;
  1261. GetProperty(0xb, VT_I2, (void*)&result);
  1262. return result;
  1263. }
  1264. BOOL CMapXDataset::GetReadOnly()
  1265. {
  1266. BOOL result;
  1267. GetProperty(0xc, VT_BOOL, (void*)&result);
  1268. return result;
  1269. }
  1270. /////////////////////////////////////////////////////////////////////////////
  1271. // CMapXDataset operations
  1272. void CMapXDataset::Refresh()
  1273. {
  1274. InvokeHelper(0x8, DISPATCH_METHOD, VT_EMPTY, NULL, NULL);
  1275. }
  1276. VARIANT CMapXDataset::GetValue(const VARIANT& Row, const VARIANT& Column)
  1277. {
  1278. VARIANT result;
  1279. static BYTE parms[] =
  1280. VTS_VARIANT VTS_VARIANT;
  1281. InvokeHelper(0x9, DISPATCH_PROPERTYGET, VT_VARIANT, (void*)&result, parms,
  1282. &Row, &Column);
  1283. return result;
  1284. }
  1285. CMapXSourceRows CMapXDataset::GetSourceRows(const VARIANT& Row)
  1286. {
  1287. LPDISPATCH result;
  1288. static BYTE parms[] =
  1289. VTS_VARIANT;
  1290. InvokeHelper(0xa, DISPATCH_PROPERTYGET, VT_DISPATCH, (void*)&result, parms,
  1291. &Row);
  1292. return CMapXSourceRows(result);
  1293. }
  1294. CMapXRowValues CMapXDataset::GetRowValues(const VARIANT& Row)
  1295. {
  1296. LPDISPATCH result;
  1297. static BYTE parms[] =
  1298. VTS_VARIANT;
  1299. InvokeHelper(0xd, DISPATCH_PROPERTYGET, VT_DISPATCH, (void*)&result, parms, &Row);
  1300. return CMapXRowValues(result);
  1301. }
  1302. CMapXField CMapXDataset::AddField(LPCTSTR Name, LPCTSTR Expression)
  1303. {
  1304. LPDISPATCH result;
  1305. static BYTE parms[] = VTS_BSTR VTS_BSTR;
  1306. InvokeHelper(0xe, DISPATCH_METHOD, VT_DISPATCH, (void*)&result, parms, Name, Expression);
  1307. return CMapXField(result);
  1308. }
  1309. /////////////////////////////////////////////////////////////////////////////
  1310. // CMapXThemes properties
  1311. LPENUMVARIANT CMapXThemes::GetEnumerator()
  1312. {
  1313. LPENUMVARIANT pEnumVariant = 0;
  1314. LPUNKNOWN pUnknown = 0;
  1315. GetProperty(0xfffffffc, VT_UNKNOWN, (void*)&pUnknown);
  1316. if(pUnknown)
  1317. {
  1318. pUnknown->QueryInterface(IID_IEnumVARIANT, (void**)&pEnumVariant);
  1319. pUnknown->Release();
  1320. }
  1321. return pEnumVariant;
  1322. }
  1323. long CMapXThemes::GetCount()
  1324. {
  1325. long result;
  1326. GetProperty(0x1, VT_I4, (void*)&result);
  1327. return result;
  1328. }
  1329. /////////////////////////////////////////////////////////////////////////////
  1330. // CMapXThemes operations
  1331. CMapXTheme CMapXThemes::Add(const VARIANT& Type, const VARIANT& Field, const VARIANT& Name, const VARIANT& ComputeTheme)
  1332. {
  1333. LPDISPATCH result;
  1334. static BYTE parms[] =
  1335. VTS_VARIANT VTS_VARIANT VTS_VARIANT VTS_VARIANT;
  1336. InvokeHelper(0x2, DISPATCH_METHOD, VT_DISPATCH, (void*)&result, parms,
  1337. &Type, &Field, &Name, &ComputeTheme);
  1338. return CMapXTheme(result);
  1339. }
  1340. CMapXTheme CMapXThemes::Item(const VARIANT& Index)
  1341. {
  1342. LPDISPATCH result;
  1343. static BYTE parms[] =
  1344. VTS_VARIANT;
  1345. InvokeHelper(0x3, DISPATCH_METHOD, VT_DISPATCH, (void*)&result, parms,
  1346. &Index);
  1347. return CMapXTheme(result);
  1348. }
  1349. void CMapXThemes::Remove(const VARIANT& Index)
  1350. {
  1351. static BYTE parms[] =
  1352. VTS_VARIANT;
  1353. InvokeHelper(0x4, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
  1354.  &Index);
  1355. }
  1356. void CMapXThemes::RemoveAll()
  1357. {
  1358. InvokeHelper(0x5, DISPATCH_METHOD, VT_EMPTY, NULL, NULL);
  1359. }
  1360. /////////////////////////////////////////////////////////////////////////////
  1361. // CMapXTheme properties
  1362. BOOL CMapXTheme::GetVisible()
  1363. {
  1364. BOOL result;
  1365. GetProperty(0x1, VT_BOOL, (void*)&result);
  1366. return result;
  1367. }
  1368. void CMapXTheme::SetVisible(BOOL propVal)
  1369. {
  1370. SetProperty(0x1, VT_BOOL, propVal);
  1371. }
  1372. short CMapXTheme::GetType()
  1373. {
  1374. short result;
  1375. GetProperty(0x2, VT_I2, (void*)&result);
  1376. return result;
  1377. }
  1378. CMapXThemeProperties CMapXTheme::GetProperties()
  1379. {
  1380. LPDISPATCH result;
  1381. GetProperty(0x3, VT_DISPATCH, (void*)&result);
  1382. return CMapXThemeProperties(result);
  1383. }
  1384. CMapXLegend CMapXTheme::GetLegend()
  1385. {
  1386. LPDISPATCH result;
  1387. GetProperty(0x4, VT_DISPATCH, (void*)&result);
  1388. return CMapXLegend(result);
  1389. }
  1390. BOOL CMapXTheme::GetAutoRecompute()
  1391. {
  1392. BOOL result;
  1393. GetProperty(0x5, VT_BOOL, (void*)&result);
  1394. return result;
  1395. }
  1396. void CMapXTheme::SetAutoRecompute(BOOL propVal)
  1397. {
  1398. SetProperty(0x5, VT_BOOL, propVal);
  1399. }
  1400. CString CMapXTheme::GetName()
  1401. {
  1402. CString result;
  1403. GetProperty(0x6, VT_BSTR, (void*)&result);
  1404. return result;
  1405. }
  1406. void CMapXTheme::SetName(LPCTSTR propVal)
  1407. {
  1408. SetProperty(0x6, VT_BSTR, propVal);
  1409. }
  1410. CMapXThemeProperties CMapXTheme::GetThemeProperties()
  1411. {
  1412. LPDISPATCH result;
  1413. GetProperty(0x7, VT_DISPATCH, (void*)&result);
  1414. return CMapXThemeProperties(result);
  1415. }
  1416. CMapXLayer CMapXTheme::GetLayer()
  1417. {
  1418. LPDISPATCH result;
  1419. GetProperty(0x9, VT_DISPATCH, (void*)&result);
  1420. return CMapXLayer(result);
  1421. }
  1422. CMapXFields CMapXTheme::GetFields()
  1423. {
  1424. LPDISPATCH result;
  1425. GetProperty(0xa, VT_DISPATCH, (void*)&result);
  1426. return CMapXFields(result);
  1427. }
  1428. double CMapXTheme::GetDataMin()
  1429. {
  1430. double result;
  1431. GetProperty(0xb, VT_R8, (void*)&result);
  1432. return result;
  1433. }
  1434. void CMapXTheme::SetDataMin(double propVal)
  1435. {
  1436. SetProperty(0xb, VT_R8, propVal);
  1437. }
  1438. double CMapXTheme::GetDataMax()
  1439. {
  1440. double result;
  1441. GetProperty(0xc, VT_R8, (void*)&result);
  1442. return result;
  1443. }
  1444. void CMapXTheme::SetDataMax(double propVal)
  1445. {
  1446. SetProperty(0xc, VT_R8, propVal);
  1447. }
  1448. BOOL CMapXTheme::GetComputeTheme()
  1449. {
  1450. BOOL result;
  1451. GetProperty(0xd, VT_BOOL, (void*)&result);
  1452. return result;
  1453. }
  1454. void CMapXTheme::SetComputeTheme(BOOL propVal)
  1455. {
  1456. SetProperty(0xd, VT_BOOL, propVal);
  1457. }
  1458. /////////////////////////////////////////////////////////////////////////////
  1459. // CMapXTheme operations
  1460. BOOL CMapXTheme::ThemeDlg(const VARIANT& HelpFile, const VARIANT& HelpID)
  1461. {
  1462. BOOL bRetVal;
  1463. static BYTE parms[] =
  1464. VTS_VARIANT VTS_VARIANT;
  1465. InvokeHelper(0x8, DISPATCH_METHOD, VT_BOOL, (void*)&bRetVal, parms,
  1466. &HelpFile, &HelpID);
  1467. return bRetVal;
  1468. }
  1469. /////////////////////////////////////////////////////////////////////////////
  1470. // CMapXLegend properties
  1471. BOOL CMapXLegend::GetCompact()
  1472. {
  1473. BOOL result;
  1474. GetProperty(0x1, VT_BOOL, (void*)&result);
  1475. return result;
  1476. }
  1477. void CMapXLegend::SetCompact(BOOL propVal)
  1478. {
  1479. SetProperty(0x1, VT_BOOL, propVal);
  1480. }
  1481. BOOL CMapXLegend::GetVisible()
  1482. {
  1483. BOOL result;
  1484. GetProperty(0x2, VT_BOOL, (void*)&result);
  1485. return result;
  1486. }
  1487. void CMapXLegend::SetVisible(BOOL propVal)
  1488. {
  1489. SetProperty(0x2, VT_BOOL, propVal);
  1490. }
  1491. CMapXStyle CMapXLegend::GetTitleStyle()
  1492. {
  1493. LPDISPATCH result;
  1494. GetProperty(0x3, VT_DISPATCH, (void*)&result);
  1495. return CMapXStyle(result);
  1496. }
  1497. void CMapXLegend::SetTitleStyle(LPDISPATCH propVal)
  1498. {
  1499. SetProperty(0x3, VT_DISPATCH, propVal);
  1500. }
  1501. CMapXStyle CMapXLegend::GetSubTitleStyle()
  1502. {
  1503. LPDISPATCH result;
  1504. GetProperty(0x4, VT_DISPATCH, (void*)&result);
  1505. return CMapXStyle(result);
  1506. }
  1507. void CMapXLegend::SetSubTitleStyle(LPDISPATCH propVal)
  1508. {
  1509. SetProperty(0x4, VT_DISPATCH, propVal);
  1510. }
  1511. CMapXStyle CMapXLegend::GetCompactTitleStyle()
  1512. {
  1513. LPDISPATCH result;
  1514. GetProperty(0x5, VT_DISPATCH, (void*)&result);
  1515. return CMapXStyle(result);
  1516. }
  1517. void CMapXLegend::SetCompactTitleStyle(LPDISPATCH propVal)
  1518. {
  1519. SetProperty(0x5, VT_DISPATCH, propVal);
  1520. }
  1521. CMapXStyle CMapXLegend::GetBodyTextStyle()
  1522. {
  1523. LPDISPATCH result;
  1524. GetProperty(0x6, VT_DISPATCH, (void*)&result);
  1525. return CMapXStyle(result);
  1526. }
  1527. void CMapXLegend::SetBodyTextStyle(LPDISPATCH propVal)
  1528. {
  1529. SetProperty(0x6, VT_DISPATCH, propVal);
  1530. }
  1531. CMapXLegendTexts CMapXLegend::GetLegendTexts()
  1532. {
  1533. LPDISPATCH result;
  1534. GetProperty(0x7, VT_DISPATCH, (void*)&result);
  1535. return CMapXLegendTexts(result);
  1536. }
  1537. BOOL CMapXLegend::GetCurrencyFormat()
  1538. {
  1539. BOOL result;
  1540. GetProperty(0x8, VT_BOOL, (void*)&result);
  1541. return result;
  1542. }
  1543. void CMapXLegend::SetCurrencyFormat(BOOL propVal)
  1544. {
  1545. SetProperty(0x8, VT_BOOL, propVal);
  1546. }
  1547. CString CMapXLegend::GetTitle()
  1548. {
  1549. CString result;
  1550. GetProperty(0x9, VT_BSTR, (void*)&result);
  1551. return result;
  1552. }
  1553. void CMapXLegend::SetTitle(LPCTSTR propVal)
  1554. {
  1555. SetProperty(0x9, VT_BSTR, propVal);
  1556. }
  1557. CString CMapXLegend::GetSubTitle()
  1558. {
  1559. CString result;
  1560. GetProperty(0xa, VT_BSTR, (void*)&result);
  1561. return result;
  1562. }
  1563. void CMapXLegend::SetSubTitle(LPCTSTR propVal)
  1564. {
  1565. SetProperty(0xa, VT_BSTR, propVal);
  1566. }
  1567. CString CMapXLegend::GetCompactTitle()
  1568. {
  1569. CString result;
  1570. GetProperty(0xb, VT_BSTR, (void*)&result);
  1571. return result;
  1572. }
  1573. void CMapXLegend::SetCompactTitle(LPCTSTR propVal)
  1574. {
  1575. SetProperty(0xb, VT_BSTR, propVal);
  1576. }
  1577. double CMapXLegend::GetLeft()
  1578. {
  1579. double result;
  1580. GetProperty(0xc, VT_R8, (void*)&result);
  1581. return result;
  1582. }
  1583. void CMapXLegend::SetLeft(double propVal)
  1584. {
  1585. SetProperty(0xc, VT_R8, propVal);
  1586. }
  1587. double CMapXLegend::GetTop()
  1588. {
  1589. double result;
  1590. GetProperty(0xd, VT_R8, (void*)&result);
  1591. return result;
  1592. }
  1593. void CMapXLegend::SetTop(double propVal)
  1594. {
  1595. SetProperty(0xd, VT_R8, propVal);
  1596. }
  1597. double CMapXLegend::GetWidth()
  1598. {
  1599. double result;
  1600. GetProperty(0xe, VT_R8, (void*)&result);
  1601. return result;
  1602. }
  1603. double CMapXLegend::GetHeight()
  1604. {
  1605. double result;
  1606. GetProperty(0xf, VT_R8, (void*)&result);
  1607. return result;
  1608. }
  1609. BOOL CMapXLegend::GetShowEmptyRanges()
  1610. {
  1611. BOOL result;
  1612. GetProperty(0x11, VT_BOOL, (void*)&result);
  1613. return result;
  1614. }
  1615. void CMapXLegend::SetShowEmptyRanges(BOOL propVal)
  1616. {
  1617. SetProperty(0x11, VT_BOOL, propVal);
  1618. }
  1619. BOOL CMapXLegend::GetShowCount()
  1620. {
  1621. BOOL result;
  1622. GetProperty(0x13, VT_BOOL, (void*)&result);
  1623. return result;
  1624. }
  1625. void CMapXLegend::SetShowCount(BOOL propVal)
  1626. {
  1627. SetProperty(0x13, VT_BOOL, propVal);
  1628. }
  1629. double CMapXLegend::GetPaperHeight()
  1630. {
  1631. double result;
  1632. GetProperty(0x15, VT_R8, (void*)&result);
  1633. return result;
  1634. }
  1635. double CMapXLegend::GetPaperWidth()
  1636. {
  1637. double result;
  1638. GetProperty(0x16, VT_R8, (void*)&result);
  1639. return result;
  1640. }
  1641. /////////////////////////////////////////////////////////////////////////////
  1642. // CMapXLegend operations
  1643. BOOL CMapXLegend::LegendDlg(const VARIANT& HelpFile, const VARIANT& HelpID)
  1644. {
  1645. BOOL bRetVal;
  1646. static BYTE parms[] =
  1647. VTS_VARIANT VTS_VARIANT;
  1648. InvokeHelper(0x10, DISPATCH_METHOD, VT_BOOL, (void*)&bRetVal, parms,
  1649. &HelpFile, &HelpID);
  1650. return(bRetVal);
  1651. }
  1652. void CMapXLegend::ExportLegend(LPCTSTR Destination, short Format)
  1653. {
  1654. static BYTE parms[] =
  1655. VTS_BSTR VTS_I2;
  1656. InvokeHelper(0x12, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
  1657.  Destination, Format);
  1658. }
  1659. void CMapXLegend::PrintLegend(long hDC, long X, long Y, long W, long H)
  1660. {
  1661. static BYTE parms[] =
  1662. VTS_I4 VTS_I4 VTS_I4 VTS_I4 VTS_I4;
  1663. InvokeHelper(0x14, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
  1664.  hDC, X, Y, W, H);
  1665. }
  1666. /////////////////////////////////////////////////////////////////////////////
  1667. // CMapXAnnotations properties
  1668. LPENUMVARIANT CMapXAnnotations::GetEnumerator()
  1669. {
  1670. LPENUMVARIANT pEnumVariant = 0;
  1671. LPUNKNOWN pUnknown = 0;
  1672. GetProperty(0xfffffffc, VT_UNKNOWN, (void*)&pUnknown);
  1673. if(pUnknown)
  1674. {
  1675. pUnknown->QueryInterface(IID_IEnumVARIANT, (void**)&pEnumVariant);
  1676. pUnknown->Release();
  1677. }
  1678. return pEnumVariant;
  1679. }
  1680. BOOL CMapXAnnotations::GetEditable()
  1681. {
  1682. BOOL result;
  1683. GetProperty(0x1, VT_BOOL, (void*)&result);
  1684. return result;
  1685. }
  1686. void CMapXAnnotations::SetEditable(BOOL propVal)
  1687. {
  1688. SetProperty(0x1, VT_BOOL, propVal);
  1689. }
  1690. long CMapXAnnotations::GetCount()
  1691. {
  1692. long result;
  1693. GetProperty(0x2, VT_I4, (void*)&result);
  1694. return result;
  1695. }
  1696. /////////////////////////////////////////////////////////////////////////////
  1697. // CMapXAnnotations operations
  1698. CMapXAnnotation CMapXAnnotations::AddSymbol(double X, double Y)
  1699. {
  1700. LPDISPATCH result;
  1701. static BYTE parms[] =
  1702. VTS_R8 VTS_R8;
  1703. InvokeHelper(0x3, DISPATCH_METHOD, VT_DISPATCH, (void*)&result, parms,
  1704. X, Y);
  1705. return CMapXAnnotation(result);
  1706. }
  1707. CMapXAnnotation CMapXAnnotations::Item(const VARIANT& Index)
  1708. {
  1709. LPDISPATCH result;
  1710. static BYTE parms[] =
  1711. VTS_VARIANT;
  1712. InvokeHelper(0x4, DISPATCH_METHOD, VT_DISPATCH, (void*)&result, parms,
  1713. &Index);
  1714. return CMapXAnnotation(result);
  1715. }
  1716. void CMapXAnnotations::Remove(const VARIANT& Index)
  1717. {
  1718. static BYTE parms[] =
  1719. VTS_VARIANT;
  1720. InvokeHelper(0x5, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
  1721.  &Index);
  1722. }
  1723. CMapXAnnotation CMapXAnnotations::AddText(LPCTSTR Text, double X, double Y, const VARIANT& Position)
  1724. {
  1725. LPDISPATCH result;
  1726. static BYTE parms[] =
  1727. VTS_BSTR VTS_R8 VTS_R8 VTS_VARIANT;
  1728. InvokeHelper(0x6, DISPATCH_METHOD, VT_DISPATCH, (void*)&result, parms,
  1729. Text, X, Y, &Position);
  1730. return CMapXAnnotation(result);
  1731. }
  1732. void CMapXAnnotations::RemoveAll()
  1733. {
  1734. InvokeHelper(0x7, DISPATCH_METHOD, VT_EMPTY, NULL, NULL);
  1735. }
  1736. CMapXAnnotation CMapXAnnotations::ActiveAnnotation()
  1737. {
  1738. LPDISPATCH result;
  1739. GetProperty(0x8, VT_DISPATCH, (void*)&result);
  1740. return CMapXAnnotation(result);
  1741. }
  1742. /////////////////////////////////////////////////////////////////////////////
  1743. // CMapXThemeProperties properties
  1744. short CMapXThemeProperties::GetDistMethod()
  1745. {
  1746. short result;
  1747. GetProperty(0x1, VT_I2, (void*)&result);
  1748. return result;
  1749. }
  1750. void CMapXThemeProperties::SetDistMethod(short propVal)
  1751. {
  1752. SetProperty(0x1, VT_I2, propVal);
  1753. }
  1754. short CMapXThemeProperties::GetNumRanges()
  1755. {
  1756. short result;
  1757. GetProperty(0x2, VT_I2, (void*)&result);
  1758. return result;
  1759. }
  1760. void CMapXThemeProperties::SetNumRanges(short propVal)
  1761. {
  1762. SetProperty(0x2, VT_I2, propVal);
  1763. }
  1764. CMapXRangeCategories CMapXThemeProperties::GetRangeCategories()
  1765. {
  1766. LPDISPATCH result;
  1767. GetProperty(0x3, VT_DISPATCH, (void*)&result);
  1768. return CMapXRangeCategories(result);
  1769. }
  1770. short CMapXThemeProperties::GetDotSize()
  1771. {
  1772. short result;
  1773. GetProperty(0x5, VT_I2, (void*)&result);
  1774. return result;
  1775. }
  1776. void CMapXThemeProperties::SetDotSize(short propVal)
  1777. {
  1778. SetProperty(0x5, VT_I2, propVal);
  1779. }
  1780. BOOL CMapXThemeProperties::GetGraduated()
  1781. {
  1782. BOOL result;
  1783. GetProperty(0x6, VT_BOOL, (void*)&result);
  1784. return result;
  1785. }
  1786. void CMapXThemeProperties::SetGraduated(BOOL propVal)
  1787. {
  1788. SetProperty(0x6, VT_BOOL, propVal);
  1789. }
  1790. CMapXMultivarCategories CMapXThemeProperties::GetMultivarCategories()
  1791. {
  1792. LPDISPATCH result;
  1793. GetProperty(0x7, VT_DISPATCH, (void*)&result);
  1794. return CMapXMultivarCategories(result);
  1795. }
  1796. BOOL CMapXThemeProperties::GetIndependent()
  1797. {
  1798. BOOL result;
  1799. GetProperty(0x8, VT_BOOL, (void*)&result);
  1800. return result;
  1801. }
  1802. void CMapXThemeProperties::SetIndependent(BOOL propVal)
  1803. {
  1804. SetProperty(0x8, VT_BOOL, propVal);
  1805. }
  1806. CMapXIndividualValueCategories CMapXThemeProperties::GetIndividualValueCategories()
  1807. {
  1808. LPDISPATCH result;
  1809. GetProperty(0x4, VT_DISPATCH, (void*)&result);
  1810. return CMapXIndividualValueCategories(result);
  1811. }
  1812. double CMapXThemeProperties::GetValuePerDot()
  1813. {
  1814. double result;
  1815. GetProperty(0x9, VT_R8, (void*)&result);
  1816. return result;
  1817. }
  1818. void CMapXThemeProperties::SetValuePerDot(double propVal)
  1819. {
  1820. SetProperty(0x9, VT_R8, propVal);
  1821. }
  1822. double CMapXThemeProperties::GetDataValue()
  1823. {
  1824. double result;
  1825. GetProperty(0xa, VT_R8, (void*)&result);
  1826. return result;
  1827. }
  1828. void CMapXThemeProperties::SetDataValue(double propVal)
  1829. {
  1830. SetProperty(0xa, VT_R8, propVal);
  1831. }
  1832. double CMapXThemeProperties::GetSize()
  1833. {
  1834. double result;
  1835. GetProperty(0xb, VT_R8, (void*)&result);
  1836. return result;
  1837. }
  1838. void CMapXThemeProperties::SetSize(double propVal)
  1839. {
  1840. SetProperty(0xb, VT_R8, propVal);
  1841. }
  1842. double CMapXThemeProperties::GetWidth()
  1843. {
  1844. double result;
  1845. GetProperty(0xc, VT_R8, (void*)&result);
  1846. return result;
  1847. }
  1848. void CMapXThemeProperties::SetWidth(double propVal)
  1849. {
  1850. SetProperty(0xc, VT_R8, propVal);
  1851. }
  1852. CMapXStyle CMapXThemeProperties::GetSymbolStyle()
  1853. {
  1854. LPDISPATCH result;
  1855. GetProperty(0xd, VT_DISPATCH, (void*)&result);
  1856. return CMapXStyle(result);
  1857. }
  1858. void CMapXThemeProperties::SetSymbolStyle(LPDISPATCH propVal)
  1859. {
  1860. SetProperty(0xd, VT_DISPATCH, propVal);
  1861. }
  1862. short CMapXThemeProperties::GetSpreadBy()
  1863. {
  1864. short result;
  1865. GetProperty(0xe, VT_I2, (void*)&result);
  1866. return result;
  1867. }
  1868. void CMapXThemeProperties::SetSpreadBy(short propVal)
  1869. {
  1870. SetProperty(0xe, VT_I2, propVal);
  1871. }
  1872. BOOL CMapXThemeProperties::GetAllowEmptyRanges()
  1873. {
  1874. BOOL result;
  1875. GetProperty(0xf, VT_BOOL, (void*)&result);
  1876. return result;
  1877. }
  1878. void CMapXThemeProperties::SetAllowEmptyRanges(BOOL propVal)
  1879. {
  1880. SetProperty(0xf, VT_BOOL, propVal);
  1881. }
  1882. unsigned long CMapXThemeProperties::GetDotColor()
  1883. {
  1884. unsigned long result;
  1885. GetProperty(0x10, VT_I4, (void*)&result);
  1886. return result;
  1887. }
  1888. void CMapXThemeProperties::SetDotColor(unsigned long propVal)
  1889. {
  1890. SetProperty(0x10, VT_I4, propVal);
  1891. }
  1892. BOOL CMapXThemeProperties::GetPieClockwise()
  1893. {
  1894. BOOL result;
  1895. GetProperty(0x11, VT_BOOL, (void*)&result);
  1896. return result;
  1897. }
  1898. void CMapXThemeProperties::SetPieClockwise(BOOL propVal)
  1899. {
  1900. SetProperty(0x11, VT_BOOL, propVal);
  1901. }
  1902. BOOL CMapXThemeProperties::GetPieHalfPies()
  1903. {
  1904. BOOL result;
  1905. GetProperty(0x12, VT_BOOL, (void*)&result);
  1906. return result;
  1907. }
  1908. void CMapXThemeProperties::SetPieHalfPies(BOOL propVal)
  1909. {
  1910. SetProperty(0x12, VT_BOOL, propVal);
  1911. }
  1912. short CMapXThemeProperties::GetPieStartAngle()
  1913. {
  1914. short result;
  1915. GetProperty(0x13, VT_I2, (void*)&result);
  1916. return result;
  1917. }
  1918. void CMapXThemeProperties::SetPieStartAngle(short propVal)
  1919. {
  1920. SetProperty(0x13, VT_I2, propVal);
  1921. }
  1922. BOOL CMapXThemeProperties::GetBarStacked()
  1923. {
  1924. BOOL result;
  1925. GetProperty(0x14, VT_BOOL, (void*)&result);
  1926. return result;
  1927. }
  1928. void CMapXThemeProperties::SetBarStacked(BOOL propVal)
  1929. {
  1930. SetProperty(0x14, VT_BOOL, propVal);
  1931. }
  1932. CMapXStyle CMapXThemeProperties::GetNegativeSymbolStyle()
  1933. {
  1934. LPDISPATCH result;
  1935. GetProperty(0x15, VT_DISPATCH, (void*)&result);
  1936. return CMapXStyle(result);
  1937. }
  1938. void CMapXThemeProperties::SetNegativeSymbolStyle(LPDISPATCH propVal)
  1939. {
  1940. SetProperty(0x15, VT_DISPATCH, propVal);
  1941. }
  1942. BOOL CMapXThemeProperties::GetShowNegativeValues()
  1943. {
  1944. BOOL result;
  1945. GetProperty(0x16, VT_BOOL, (void*)&result);
  1946. return result;
  1947. }
  1948. void CMapXThemeProperties::SetShowNegativeValues(BOOL propVal)
  1949. {
  1950. SetProperty(0x16, VT_BOOL, propVal);
  1951. }
  1952. short CMapXThemeProperties::GetGraduateSizeBy()
  1953. {
  1954. short result;
  1955. GetProperty(0x17, VT_I2, (void*)&result);
  1956. return result;
  1957. }
  1958. void CMapXThemeProperties::SetGraduateSizeBy(short propVal)
  1959. {
  1960. SetProperty(0x17, VT_I2, propVal);
  1961. }
  1962. CMapXStyle CMapXThemeProperties::GetBorderStyle()
  1963. {
  1964. LPDISPATCH result;
  1965. GetProperty(0x18, VT_DISPATCH, (void*)&result);
  1966. return CMapXStyle(result);
  1967. }
  1968. void CMapXThemeProperties::SetBorderStyle(LPDISPATCH propVal)
  1969. {
  1970. SetProperty(0x18, VT_DISPATCH, propVal);
  1971. }
  1972. double CMapXThemeProperties::GetBarWidth()
  1973. {
  1974. double result;
  1975. GetProperty(0x19, VT_R8, (void*)&result);
  1976. return result;
  1977. }
  1978. void CMapXThemeProperties::SetBarWidth(double propVal)
  1979. {
  1980. SetProperty(0x19, VT_R8, propVal);
  1981. }
  1982. BOOL CMapXThemeProperties::GetBarIndependentScale()
  1983. {
  1984. BOOL result;
  1985. GetProperty(0x1a, VT_BOOL, (void*)&result);
  1986. return result;
  1987. }
  1988. void CMapXThemeProperties::SetBarIndependentScale(BOOL propVal)
  1989. {
  1990. SetProperty(0x1a, VT_BOOL, propVal);
  1991. }
  1992. CMapXStyle CMapXThemeProperties::GetPositiveSymbolStyle()
  1993. {
  1994. LPDISPATCH result;
  1995. GetProperty(0x1b, VT_DISPATCH, (void*)&result);
  1996. return CMapXStyle(result);
  1997. }
  1998. void CMapXThemeProperties::SetPositiveSymbolStyle(LPDISPATCH propVal)
  1999. {
  2000. SetProperty(0x1b, VT_DISPATCH, propVal);
  2001. }
  2002. CMapXStyle CMapXThemeProperties::GetBarFrameStyle()
  2003. {
  2004. LPDISPATCH result;
  2005. GetProperty(0x1c, VT_DISPATCH, (void*)&result);
  2006. return CMapXStyle(result);
  2007. }
  2008. void CMapXThemeProperties::SetBarFrameStyle(LPDISPATCH propVal)
  2009. {
  2010. SetProperty(0x1c, VT_DISPATCH, propVal);
  2011. }
  2012. BOOL CMapXThemeProperties::GetPieGraduated()
  2013. {
  2014. BOOL result;
  2015. GetProperty(0x1d, VT_BOOL, (void*)&result);
  2016. return result;
  2017. }
  2018. void CMapXThemeProperties::SetPieGraduated(BOOL propVal)
  2019. {
  2020. SetProperty(0x1d, VT_BOOL, propVal);
  2021. }
  2022. BOOL CMapXThemeProperties::GetBarGraduatedStack()
  2023. {
  2024. BOOL result;
  2025. GetProperty(0x1e, VT_BOOL, (void*)&result);
  2026. return result;
  2027. }
  2028. void CMapXThemeProperties::SetBarGraduatedStack(BOOL propVal)
  2029. {
  2030. SetProperty(0x1e, VT_BOOL, propVal);
  2031. }
  2032. short CMapXThemeProperties::GetApplyAttribute()
  2033. {
  2034. short result;
  2035. GetProperty(0x1f, VT_I2, (void*)&result);
  2036. return result;
  2037. }
  2038. void CMapXThemeProperties::SetApplyAttribute(short propVal)
  2039. {
  2040. SetProperty(0x1f, VT_I2, propVal);
  2041. }
  2042. BOOL CMapXThemeProperties::GetRoundRanges()
  2043. {
  2044. BOOL result;
  2045. GetProperty(0x20, VT_BOOL, (void*)&result);
  2046. return result;
  2047. }
  2048. void CMapXThemeProperties::SetRoundRanges(BOOL propVal)
  2049. {
  2050. SetProperty(0x20, VT_BOOL, propVal);
  2051. }
  2052. double CMapXThemeProperties::GetRoundBy()
  2053. {
  2054. double result;
  2055. GetProperty(0x21, VT_R8, (void*)&result);
  2056. return result;
  2057. }
  2058. void CMapXThemeProperties::SetRoundBy(double propVal)
  2059. {
  2060. SetProperty(0x21, VT_R8, propVal);
  2061. }
  2062. short CMapXThemeProperties::GetColorMethod()
  2063. {
  2064. short result;
  2065. GetProperty(0x22, VT_I2, (void*)&result);
  2066. return result;
  2067. }
  2068. void CMapXThemeProperties::SetColorMethod(short propVal)
  2069. {
  2070. SetProperty(0x22, VT_I2, propVal);
  2071. }
  2072. BOOL CMapXThemeProperties::GetInflectRanges()
  2073. {
  2074. BOOL result;
  2075. GetProperty(0x23, VT_BOOL, (void*)&result);
  2076. return result;
  2077. }
  2078. void CMapXThemeProperties::SetInflectRanges(BOOL propVal)
  2079. {
  2080. SetProperty(0x23, VT_BOOL, propVal);
  2081. }
  2082. short CMapXThemeProperties::GetInflectionRange()
  2083. {
  2084. short result;
  2085. GetProperty(0x24, VT_I2, (void*)&result);
  2086. return result;
  2087. }
  2088. void CMapXThemeProperties::SetInflectionRange(short propVal)
  2089. {
  2090. SetProperty(0x24, VT_I2, propVal);
  2091. }
  2092. unsigned long CMapXThemeProperties::GetInflectionColor()
  2093. {
  2094. unsigned long result;
  2095. GetProperty(0x25, VT_I4, (void*)&result);
  2096. return result;
  2097. }
  2098. void CMapXThemeProperties::SetInflectionColor(unsigned long propVal)
  2099. {
  2100. SetProperty(0x25, VT_I4, propVal);
  2101. }
  2102. BOOL CMapXThemeProperties::GetBarFramed()
  2103. {
  2104. BOOL result;
  2105. GetProperty(0x26, VT_BOOL, (void*)&result);
  2106. return result;
  2107. }
  2108. void CMapXThemeProperties::SetBarFramed(BOOL propVal)
  2109. {
  2110. SetProperty(0x26, VT_BOOL, propVal);
  2111. }
  2112. /////////////////////////////////////////////////////////////////////////////
  2113. // CMapXThemeProperties operations
  2114. /////////////////////////////////////////////////////////////////////////////
  2115. // CMapXSelection properties
  2116. LPENUMVARIANT CMapXSelection::GetEnumerator()
  2117. {
  2118. LPENUMVARIANT pEnumVariant = 0;
  2119. LPUNKNOWN pUnknown = 0;
  2120. GetProperty(0xfffffffc, VT_UNKNOWN, (void*)&pUnknown);
  2121. if(pUnknown)
  2122. {
  2123. pUnknown->QueryInterface(IID_IEnumVARIANT, (void**)&pEnumVariant);
  2124. pUnknown->Release();
  2125. }
  2126. return pEnumVariant;
  2127. }
  2128. long CMapXSelection::GetCount()
  2129. {
  2130. long result;
  2131. GetProperty(0x10001, VT_I4, (void*)&result);
  2132. return result;
  2133. }
  2134. CMapXRectangle CMapXSelection::GetBounds()
  2135. {
  2136. LPDISPATCH result;
  2137. GetProperty(0x10008, VT_DISPATCH, (void*)&result);
  2138. return CMapXRectangle(result);
  2139. }
  2140. /////////////////////////////////////////////////////////////////////////////
  2141. // CMapXSelection operations
  2142. CMapXFeature CMapXSelection::Item(const VARIANT& Index)
  2143. {
  2144. LPDISPATCH result;
  2145. static BYTE parms[] =
  2146. VTS_VARIANT;
  2147. InvokeHelper(0x10002, DISPATCH_METHOD, VT_DISPATCH, (void*)&result, parms,
  2148. &Index);
  2149. return CMapXFeature(result);
  2150. }
  2151. CMapXFeatures CMapXSelection::Clone()
  2152. {
  2153. LPDISPATCH result;
  2154. InvokeHelper(0x10003, DISPATCH_METHOD, VT_DISPATCH, (void*)&result, NULL);
  2155. return CMapXFeatures(result);
  2156. }
  2157. void CMapXSelection::Add(LPDISPATCH Source)
  2158. {
  2159. static BYTE parms[] =
  2160. VTS_DISPATCH;
  2161. InvokeHelper(0x10004, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
  2162.  Source);
  2163. }
  2164. void CMapXSelection::Common(LPDISPATCH Source)
  2165. {
  2166. static BYTE parms[] =
  2167. VTS_DISPATCH;
  2168. InvokeHelper(0x10005, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
  2169.  Source);
  2170. }
  2171. void CMapXSelection::Remove(const VARIANT& Source)
  2172. {
  2173. static BYTE parms[] =
  2174. VTS_VARIANT;
  2175. InvokeHelper(0x10006, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
  2176.  &Source);
  2177. }
  2178. void CMapXSelection::Replace(LPDISPATCH Source)
  2179. {
  2180. static BYTE parms[] =
  2181. VTS_DISPATCH;
  2182. InvokeHelper(0x10007, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
  2183.  Source);
  2184. }
  2185. void CMapXSelection::AddByID(const VARIANT& FeatureID)
  2186. {
  2187. static BYTE parms[] =
  2188. VTS_VARIANT;
  2189. InvokeHelper(0x10009, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
  2190.  &FeatureID);
  2191. }
  2192. void CMapXSelection::RemoveByID(const VARIANT& FeatureID)
  2193. {
  2194. static BYTE parms[] =
  2195. VTS_VARIANT;
  2196. InvokeHelper(0x1000a, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
  2197.  &FeatureID);
  2198. }
  2199. void CMapXSelection::SelectByRegion(LPDISPATCH Layer, const VARIANT& FeatureID, short Flag)
  2200. {
  2201. static BYTE parms[] =
  2202. VTS_DISPATCH VTS_VARIANT VTS_I2;
  2203. InvokeHelper(0x1, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
  2204.  Layer, &FeatureID, Flag);
  2205. }
  2206. void CMapXSelection::ClearSelection()
  2207. {
  2208. InvokeHelper(0x2, DISPATCH_METHOD, VT_EMPTY, NULL, NULL);
  2209. }
  2210. void CMapXSelection::SelectByPoint(double X, double Y, short Flag)
  2211. {
  2212. static BYTE parms[] =
  2213. VTS_R8 VTS_R8 VTS_I2;
  2214. InvokeHelper(0x3, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
  2215.  X, Y, Flag);
  2216. }
  2217. void CMapXSelection::SelectByRadius(double X, double Y, double radius, short Flag)
  2218. {
  2219. static BYTE parms[] =
  2220. VTS_R8 VTS_R8 VTS_R8 VTS_I2;
  2221. InvokeHelper(0x4, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
  2222.  X, Y, radius, Flag);
  2223. }
  2224. void CMapXSelection::SelectByRectangle(double X1, double Y1, double X2, double Y2, short Flag)
  2225. {
  2226. static BYTE parms[] =
  2227. VTS_R8 VTS_R8 VTS_R8 VTS_R8 VTS_I2;
  2228. InvokeHelper(0x5, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
  2229.  X1, Y1, X2, Y2, Flag);
  2230. }
  2231. BOOL CMapXSelection::SelectAll(short Flag)
  2232. {
  2233. BOOL result;
  2234. static BYTE parms[] =
  2235. VTS_I2;
  2236. InvokeHelper(0x6, DISPATCH_METHOD, VT_BOOL, (void*)&result, parms,
  2237. Flag);
  2238. return result;
  2239. }
  2240. void CMapXSelection::SelectByID(const VARIANT& FeatureID, short Flag)
  2241. {
  2242. static BYTE parms[] =
  2243. VTS_VARIANT VTS_I2;
  2244. InvokeHelper(0x7, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
  2245.  &FeatureID, Flag);
  2246. }
  2247. /////////////////////////////////////////////////////////////////////////////
  2248. // CMapXFeature properties
  2249. long CMapXFeature::GetFeatureID()
  2250. {
  2251. long result;
  2252. GetProperty(0x1, VT_I4, (void*)&result);
  2253. return result;
  2254. }
  2255. short CMapXFeature::GetType()
  2256. {
  2257. short result;
  2258. GetProperty(0x2, VT_I2, (void*)&result);
  2259. return result;
  2260. }
  2261. void CMapXFeature::SetType(short propVal)
  2262. {
  2263. SetProperty(0x2, VT_I2, propVal);
  2264. }
  2265. double CMapXFeature::GetLength()
  2266. {
  2267. double result;
  2268. GetProperty(0x3, VT_R8, (void*)&result);
  2269. return result;
  2270. }
  2271. double CMapXFeature::GetCenterX()
  2272. {
  2273. double result;
  2274. GetProperty(0x4, VT_R8, (void*)&result);
  2275. return result;
  2276. }
  2277. double CMapXFeature::GetCenterY()
  2278. {
  2279. double result;
  2280. GetProperty(0x5, VT_R8, (void*)&result);
  2281. return result;
  2282. }
  2283. CMapXStyle CMapXFeature::GetStyle()
  2284. {
  2285. LPDISPATCH result;
  2286. GetProperty(0x6, VT_DISPATCH, (void*)&result);
  2287. return CMapXStyle(result);
  2288. }
  2289. void CMapXFeature::SetStyle(LPDISPATCH propVal)
  2290. {
  2291. SetProperty(0x6, VT_DISPATCH, propVal);
  2292. }
  2293. CMapXRectangle CMapXFeature::GetBounds()
  2294. {
  2295. LPDISPATCH result;
  2296. GetProperty(0x7, VT_DISPATCH, (void*)&result);
  2297. return CMapXRectangle(result);
  2298. }
  2299. CString CMapXFeature::GetCaption()
  2300. {
  2301. CString result;
  2302. GetProperty(0x8, VT_BSTR, (void*)&result);
  2303. return result;
  2304. }
  2305. void CMapXFeature::SetCaption(LPCTSTR propVal)
  2306. {
  2307. SetProperty(0x8, VT_BSTR, propVal);
  2308. }
  2309. CMapXParts CMapXFeature::GetParts()
  2310. {
  2311. LPDISPATCH result;
  2312. GetProperty(0x9, VT_DISPATCH, (void*)&result);
  2313. return CMapXParts(result);
  2314. }
  2315. double CMapXFeature::GetArea()
  2316. {
  2317. double result;
  2318. GetProperty(0xa, VT_R8, (void*)&result);
  2319. return result;
  2320. }
  2321. CMapXLayer CMapXFeature::GetLayer()
  2322. {
  2323. LPDISPATCH result;
  2324. GetProperty(0xb, VT_DISPATCH, (void*)&result);
  2325. return CMapXLayer(result);
  2326. }
  2327. CMapXPoint CMapXFeature::GetPoint()
  2328. {
  2329. LPDISPATCH result;
  2330. GetProperty(0xc, VT_DISPATCH, (void*)&result);
  2331. return CMapXPoint(result);
  2332. }
  2333. void CMapXFeature::SetPoint(LPDISPATCH propVal)
  2334. {
  2335. SetProperty(0xc, VT_DISPATCH, propVal);
  2336. }
  2337. CMapXPoint CMapXFeature::GetLabelPoint()
  2338. {
  2339. LPDISPATCH result;
  2340. GetProperty(0xd, VT_DISPATCH, (void*)&result);
  2341. return CMapXPoint(result);
  2342. }
  2343. double CMapXFeature::GetPerimeter()
  2344. {
  2345. double result;
  2346. GetProperty(0xe, VT_R8, (void*)&result);
  2347. return result;
  2348. }
  2349. BOOL CMapXFeature::GetSmooth()
  2350. {
  2351. BOOL result;
  2352. GetProperty(0xf, VT_BOOL, (void*)&result);
  2353. return result;
  2354. }
  2355. void CMapXFeature::SetSmooth(BOOL propVal)
  2356. {
  2357. SetProperty(0xf, VT_BOOL, propVal);
  2358. }
  2359. CString CMapXFeature::GetName()
  2360. {
  2361. CString result;
  2362. GetProperty(0x10, VT_BSTR, (void*)&result);
  2363. return result;
  2364. }
  2365. CString CMapXFeature::GetKeyValue()
  2366. {
  2367. CString result;
  2368. GetProperty(0x11, VT_BSTR, (void*)&result);
  2369. return result;
  2370. }
  2371. void CMapXFeature::SetKeyValue(LPCTSTR propVal)
  2372. {
  2373. SetProperty(0x11, VT_BSTR, propVal);
  2374. }
  2375. CString CMapXFeature::GetFeatureKey()
  2376. {
  2377. CString result;
  2378. GetProperty(0x17, VT_BSTR, (void*)&result);
  2379. return result;
  2380. }
  2381. /////////////////////////////////////////////////////////////////////////////
  2382. // CMapXFeature operations
  2383. void CMapXFeature::Update(const VARIANT& UpdateFeature, const VARIANT& RowValues)
  2384. {
  2385. static BYTE parms[] =
  2386. VTS_VARIANT VTS_VARIANT;
  2387. InvokeHelper(0x12, DISPATCH_METHOD, VT_EMPTY, NULL, parms, &UpdateFeature, &RowValues);
  2388. }
  2389. void CMapXFeature::Offset(double deltaX, double deltaY)
  2390. {
  2391. static BYTE parms[] =
  2392. VTS_R8 VTS_R8;
  2393. InvokeHelper(0x13, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
  2394.  deltaX, deltaY);
  2395. }
  2396. void CMapXFeature::Attach(LPDISPATCH Map)
  2397. {
  2398. static BYTE parms[] =
  2399. VTS_DISPATCH;
  2400. InvokeHelper(0x14, DISPATCH_METHOD, VT_EMPTY, NULL, parms, Map);
  2401. }
  2402. CMapXFeature CMapXFeature::Clone()
  2403. {
  2404. LPDISPATCH result;
  2405. InvokeHelper(0x15, DISPATCH_METHOD, VT_DISPATCH, (void*)&result, NULL);
  2406. return CMapXFeature(result);
  2407. }
  2408. VARIANT CMapXFeature::Nodes(const VARIANT& CSys)
  2409. {
  2410. VARIANT result;
  2411. static BYTE parms[] = VTS_VARIANT;
  2412. InvokeHelper(0x16, DISPATCH_METHOD, VT_VARIANT, (void*)&result, parms, &CSys);
  2413. return result;
  2414. }
  2415. VARIANT CMapXFeature::GetNodes(const VARIANT& CSys)
  2416. {
  2417. VARIANT result;
  2418. static BYTE parms[] =
  2419. VTS_VARIANT;
  2420. InvokeHelper(0x16, DISPATCH_PROPERTYGET, VT_VARIANT, (void*)&result, parms,
  2421. &CSys);
  2422. return result;
  2423. }
  2424. void CMapXFeature::SetNodes(const VARIANT& CSys, const VARIANT& newValue)
  2425. {
  2426. static BYTE parms[] =
  2427. VTS_VARIANT VTS_VARIANT;
  2428. InvokeHelper(0x16, DISPATCH_PROPERTYPUT, VT_EMPTY, NULL, parms,
  2429.  &CSys, &newValue);
  2430. }
  2431. /////////////////////////////////////////////////////////////////////////////
  2432. // CMapXFeatureFactory properties
  2433. /////////////////////////////////////////////////////////////////////////////
  2434. // CMapXFeatureFactory operations
  2435. CMapXFeature CMapXFeatureFactory::BufferFeatures(LPDISPATCH Source, double Distance, const VARIANT& Units, const VARIANT& Resolution)
  2436. {
  2437. LPDISPATCH result;
  2438. static BYTE parms[] =
  2439. VTS_DISPATCH VTS_R8 VTS_VARIANT VTS_VARIANT;
  2440. InvokeHelper(0x1, DISPATCH_METHOD, VT_DISPATCH, (void*)&result, parms,
  2441. Source, Distance, &Units, &Resolution);
  2442. return CMapXFeature(result);
  2443. }
  2444. CMapXFeature CMapXFeatureFactory::CombineFeatures(LPDISPATCH Source1, const VARIANT& Source2)
  2445. {
  2446. LPDISPATCH result;
  2447. static BYTE parms[] =
  2448. VTS_DISPATCH VTS_VARIANT;
  2449. InvokeHelper(0x2, DISPATCH_METHOD, VT_DISPATCH, (void*)&result, parms,
  2450. Source1, &Source2);
  2451. return CMapXFeature(result);
  2452. }
  2453. CMapXFeature CMapXFeatureFactory::IntersectFeatures(LPDISPATCH Source1, const VARIANT& Source2)
  2454. {
  2455. LPDISPATCH result;
  2456. static BYTE parms[] =
  2457. VTS_DISPATCH VTS_VARIANT;
  2458. InvokeHelper(0x3, DISPATCH_METHOD, VT_DISPATCH, (void*)&result, parms,
  2459. Source1, &Source2);
  2460. return CMapXFeature(result);
  2461. }
  2462. CMapXFeature CMapXFeatureFactory::EraseFeature(LPDISPATCH Feature, LPDISPATCH EraserFeature)
  2463. {
  2464. LPDISPATCH result;
  2465. static BYTE parms[] =
  2466. VTS_DISPATCH VTS_DISPATCH;
  2467. InvokeHelper(0x4, DISPATCH_METHOD, VT_DISPATCH, (void*)&result, parms,
  2468. Feature, EraserFeature);
  2469. return CMapXFeature(result);
  2470. }
  2471. CMapXFeature CMapXFeatureFactory::CreateSymbol(const VARIANT& Point, const VARIANT& Style)
  2472. {
  2473. LPDISPATCH result;
  2474. static BYTE parms[] =
  2475. VTS_VARIANT VTS_VARIANT;
  2476. InvokeHelper(0x5, DISPATCH_METHOD, VT_DISPATCH, (void*)&result, parms,
  2477. &Point, &Style);
  2478. return CMapXFeature(result);
  2479. }
  2480. CMapXFeature CMapXFeatureFactory::CreateRegion(const VARIANT& Points, const VARIANT& Style)
  2481. {
  2482. LPDISPATCH result;
  2483. static BYTE parms[] =
  2484. VTS_VARIANT VTS_VARIANT;
  2485. InvokeHelper(0x6, DISPATCH_METHOD, VT_DISPATCH, (void*)&result, parms,
  2486. &Points, &Style);
  2487. return CMapXFeature(result);
  2488. }
  2489. CMapXFeature CMapXFeatureFactory::CreateLine(const VARIANT& Points, const VARIANT& Style)
  2490. {
  2491. LPDISPATCH result;
  2492. static BYTE parms[] =
  2493. VTS_VARIANT VTS_VARIANT;
  2494. InvokeHelper(0x7, DISPATCH_METHOD, VT_DISPATCH, (void*)&result, parms,
  2495. &Points, &Style);
  2496. return CMapXFeature(result);
  2497. }
  2498. CMapXFeature CMapXFeatureFactory::CreateText(const VARIANT& Point, const VARIANT& Caption, const VARIANT& Position, const VARIANT& Style)
  2499. {
  2500. LPDISPATCH result;
  2501. static BYTE parms[] =
  2502. VTS_VARIANT VTS_VARIANT VTS_VARIANT VTS_VARIANT;
  2503. InvokeHelper(0x8, DISPATCH_METHOD, VT_DISPATCH, (void*)&result, parms,
  2504. &Point, &Caption, &Position, &Style);
  2505. return CMapXFeature(result);
  2506. }
  2507. CMapXFeature CMapXFeatureFactory::CreateArc(LPDISPATCH Point1, LPDISPATCH Point2, const VARIANT& Angle, const VARIANT& Distance, const VARIANT& Resolution, const VARIANT& Style)
  2508. {
  2509. LPDISPATCH result;
  2510. static BYTE parms[] =
  2511. VTS_DISPATCH VTS_DISPATCH VTS_VARIANT VTS_VARIANT VTS_VARIANT VTS_VARIANT;
  2512. InvokeHelper(0x9, DISPATCH_METHOD, VT_DISPATCH, (void*)&result, parms,
  2513. Point1, Point2, &Angle, &Distance, &Resolution, &Style);
  2514. return CMapXFeature(result);
  2515. }
  2516. CMapXFeature CMapXFeatureFactory::CreateEllipticalRegion(LPDISPATCH Rectangle, const VARIANT& Angle, const VARIANT& Resolution, const VARIANT& Style)
  2517. {
  2518. LPDISPATCH result;
  2519. static BYTE parms[] =
  2520. VTS_DISPATCH VTS_VARIANT VTS_VARIANT VTS_VARIANT;
  2521. InvokeHelper(0xa, DISPATCH_METHOD, VT_DISPATCH, (void*)&result, parms,
  2522. Rectangle, &Angle, &Resolution, &Style);
  2523. return CMapXFeature(result);
  2524. }
  2525. CMapXFeature CMapXFeatureFactory::CreateCircularRegion(short Type, LPDISPATCH Point, double Distance, const VARIANT& Units, const VARIANT& Resolution, const VARIANT& Style)
  2526. {
  2527. LPDISPATCH result;
  2528. static BYTE parms[] =
  2529. VTS_I2 VTS_DISPATCH VTS_R8 VTS_VARIANT VTS_VARIANT VTS_VARIANT;
  2530. InvokeHelper(0xb, DISPATCH_METHOD, VT_DISPATCH, (void*)&result, parms,
  2531. Type, Point, Distance, &Units, &Resolution, &Style);
  2532. return CMapXFeature(result);
  2533. }
  2534. BOOL CMapXFeatureFactory::IntersectionTest(LPDISPATCH Feature1, LPDISPATCH Feature2, const VARIANT& Flag)
  2535. {
  2536. BOOL result;
  2537. static BYTE parms[] =
  2538. VTS_DISPATCH VTS_DISPATCH VTS_VARIANT;
  2539. InvokeHelper(0xc, DISPATCH_METHOD, VT_BOOL, (void*)&result, parms,
  2540. Feature1, Feature2, &Flag);
  2541. return result;
  2542. }
  2543. CMapXPoints CMapXFeatureFactory::IntersectionPoints(LPDISPATCH Feature1, LPDISPATCH Feature2, const VARIANT& Flag)
  2544. {
  2545. LPDISPATCH result;
  2546. static BYTE parms[] =
  2547. VTS_DISPATCH VTS_DISPATCH VTS_VARIANT;
  2548. InvokeHelper(0xd, DISPATCH_METHOD, VT_DISPATCH, (void*)&result, parms,
  2549. Feature1, Feature2, &Flag);
  2550. return CMapXPoints(result);
  2551. }
  2552. /////////////////////////////////////////////////////////////////////////////
  2553. // CMapXRangeCategory properties
  2554. double CMapXRangeCategory::GetMin()
  2555. {
  2556. double result;
  2557. GetProperty(0x1, VT_R8, (void*)&result);
  2558. return result;
  2559. }
  2560. void CMapXRangeCategory::SetMin(double propVal)
  2561. {
  2562. SetProperty(0x1, VT_R8, propVal);
  2563. }
  2564. double CMapXRangeCategory::GetMax()
  2565. {
  2566. double result;
  2567. GetProperty(0x2, VT_R8, (void*)&result);
  2568. return result;
  2569. }
  2570. void CMapXRangeCategory::SetMax(double propVal)
  2571. {
  2572. SetProperty(0x2, VT_R8, propVal);
  2573. }
  2574. long CMapXRangeCategory::GetNumItems()
  2575. {
  2576. long result;
  2577. GetProperty(0x3, VT_I4, (void*)&result);
  2578. return result;
  2579. }
  2580. CMapXStyle CMapXRangeCategory::GetStyle()
  2581. {
  2582. LPDISPATCH result;
  2583. GetProperty(0x4, VT_DISPATCH, (void*)&result);
  2584. return CMapXStyle(result);
  2585. }
  2586. void CMapXRangeCategory::SetStyle(LPDISPATCH propVal)
  2587. {
  2588. SetProperty(0x4, VT_DISPATCH, propVal);
  2589. }
  2590. /////////////////////////////////////////////////////////////////////////////
  2591. // CMapXRangeCategory operations
  2592. /////////////////////////////////////////////////////////////////////////////
  2593. // CMapXFields properties
  2594. LPENUMVARIANT CMapXFields::GetEnumerator()
  2595. {
  2596. LPENUMVARIANT pEnumVariant = 0;
  2597. LPUNKNOWN pUnknown = 0;
  2598. GetProperty(0xfffffffc, VT_UNKNOWN, (void*)&pUnknown);
  2599. if(pUnknown)
  2600. {
  2601. pUnknown->QueryInterface(IID_IEnumVARIANT, (void**)&pEnumVariant);
  2602. pUnknown->Release();
  2603. }
  2604. return pEnumVariant;
  2605. }
  2606. long CMapXFields::GetCount()
  2607. {
  2608. long result;
  2609. GetProperty(0x1, VT_I4, (void*)&result);
  2610. return result;
  2611. }
  2612. /////////////////////////////////////////////////////////////////////////////
  2613. // CMapXFields operations
  2614. CMapXField CMapXFields::Add(const VARIANT& SourceField, const VARIANT& Name, const VARIANT& AggregationFunction, const VARIANT& Type)
  2615. {
  2616. LPDISPATCH result;
  2617. static BYTE parms[] =
  2618. VTS_VARIANT VTS_VARIANT VTS_VARIANT VTS_VARIANT;
  2619. InvokeHelper(0x2, DISPATCH_METHOD, VT_DISPATCH, (void*)&result, parms,
  2620. &SourceField, &Name, &AggregationFunction, &Type);
  2621. return CMapXField(result);
  2622. }
  2623. CMapXField CMapXFields::Item(const VARIANT& Index)
  2624. {
  2625. LPDISPATCH result;
  2626. static BYTE parms[] =
  2627. VTS_VARIANT;
  2628. InvokeHelper(0x3, DISPATCH_METHOD, VT_DISPATCH, (void*)&result, parms,
  2629. &Index);
  2630. return CMapXField(result);
  2631. }
  2632. void CMapXFields::Remove(const VARIANT& Index)
  2633. {
  2634. static BYTE parms[] =
  2635. VTS_VARIANT;
  2636. InvokeHelper(0x4, DISPATCH_METHOD, VT_EMPTY, NULL, parms,
  2637.  &Index);
  2638. }
  2639. void CMapXFields::RemoveAll()
  2640. {
  2641. InvokeHelper(0x5, DISPATCH_METHOD, VT_EMPTY, NULL, NULL);
  2642. }
  2643. CMapXField CMapXFields::AddStringField(const VARIANT& Name, const VARIANT& Width)
  2644. {
  2645. LPDISPATCH result;
  2646. static BYTE parms[] =
  2647. VTS_VARIANT VTS_VARIANT;
  2648. InvokeHelper(0x6, DISPATCH_METHOD, VT_DISPATCH, (void*)&result, parms,
  2649. &Name, &Width);
  2650. return CMapXField(result);
  2651. }
  2652. CMapXField CMapXFields::AddLogicalField(const VARIANT& Name)
  2653. {
  2654. LPDISPATCH result;
  2655. static BYTE parms[] =
  2656. VTS_VARIANT;
  2657. InvokeHelper(0x7, DISPATCH_METHOD, VT_DISPATCH, (void*)&result, parms,
  2658. &Name);
  2659. return CMapXField(result);
  2660. }
  2661. CMapXField CMapXFields::AddIntegerField(const VARIANT& Name)
  2662. {
  2663. LPDISPATCH result;
  2664. static BYTE parms[] =
  2665. VTS_VARIANT;
  2666. InvokeHelper(0x8, DISPATCH_METHOD, VT_DISPATCH, (void*)&result, parms,
  2667. &Name);
  2668. return CMapXField(result);
  2669. }
  2670. CMapXField CMapXFields::AddSmallIntField(const VARIANT& Name)
  2671. {
  2672. LPDISPATCH result;
  2673. static BYTE parms[] =
  2674. VTS_VARIANT;
  2675. InvokeHelper(0x9, DISPATCH_METHOD, VT_DISPATCH, (void*)&result, parms,
  2676. &Name);
  2677. return CMapXField(result);
  2678. }
  2679. CMapXField CMapXFields::AddNumericField(const VARIANT& Name, const VARIANT& Precision, const VARIANT& Decimals)
  2680. {
  2681. LPDISPATCH result;
  2682. static BYTE parms[] =
  2683. VTS_VARIANT VTS_VARIANT VTS_VARIANT;
  2684. InvokeHelper(0xa, DISPATCH_METHOD, VT_DISPATCH, (void*)&result, parms,
  2685. &Name, &Precision, &Decimals);
  2686. return CMapXField(result);
  2687. }
  2688. CMapXField CMapXFields::AddFloatField(const VARIANT& Name)
  2689. {
  2690. LPDISPATCH result;
  2691. static BYTE parms[] =
  2692. VTS_VARIANT;
  2693. InvokeHelper(0xb, DISPATCH_METHOD, VT_DISPATCH, (void*)&result, parms,
  2694. &Name);
  2695. return CMapXField(result);
  2696. }
  2697. CMapXField CMapXFields::AddDateField(const VARIANT& Name)
  2698. {
  2699. LPDISPATCH result;
  2700. static BYTE parms[] =
  2701. VTS_VARIANT;
  2702. InvokeHelper(0xc, DISPATCH_METHOD, VT_DISPATCH, (void*)&result, parms,
  2703. &Name);
  2704. return CMapXField(result);
  2705. }
  2706. /////////////////////////////////////////////////////////////////////////////
  2707. // COleFont properties
  2708. CString COleFont::GetName()
  2709. {
  2710. CString result;
  2711. GetProperty(0x0, VT_BSTR, (void*)&result);
  2712. return result;
  2713. }
  2714. void COleFont::SetName(LPCTSTR propVal)
  2715. {
  2716. SetProperty(0x0, VT_BSTR, propVal);
  2717. }
  2718. CY COleFont::GetSize()
  2719. {
  2720. CY result;
  2721. GetProperty(0x2, VT_CY, (void*)&result);
  2722. return result;
  2723. }
  2724. void COleFont::SetSize(const CY& propVal)
  2725. {
  2726. SetProperty(0x2, VT_CY, &propVal);
  2727. }
  2728. BOOL COleFont::GetBold()
  2729. {
  2730. BOOL result;
  2731. GetProperty(0x3, VT_BOOL, (void*)&result);
  2732. return result;
  2733. }
  2734. void COleFont::SetBold(BOOL propVal)
  2735. {
  2736. SetProperty(0x3, VT_BOOL, propVal);
  2737. }
  2738. BOOL COleFont::GetItalic()
  2739. {
  2740. BOOL result;
  2741. GetProperty(0x4, VT_BOOL, (void*)&result);
  2742. return result;
  2743. }
  2744. void COleFont::SetItalic(BOOL propVal)
  2745. {
  2746. SetProperty(0x4, VT_BOOL, propVal);
  2747. }
  2748. BOOL COleFont::GetUnderline()
  2749. {
  2750. BOOL result;
  2751. GetProperty(0x5, VT_BOOL, (void*)&result);
  2752. return result;
  2753. }
  2754. void COleFont::SetUnderline(BOOL propVal)
  2755. {
  2756. SetProperty(0x5, VT_BOOL, propVal);
  2757. }
  2758. BOOL COleFont::GetStrikethrough()
  2759. {
  2760. BOOL result;
  2761. GetProperty(0x6, VT_BOOL, (void*)&result);
  2762. return result;
  2763. }
  2764. void COleFont::SetStrikethrough(BOOL propVal)
  2765. {
  2766. SetProperty(0x6, VT_BOOL, propVal);
  2767. }
  2768. short COleFont::GetWeight()
  2769. {
  2770. short result;
  2771. GetProperty(0x7, VT_I2, (void*)&result);
  2772. return result;
  2773. }
  2774. void COleFont::SetWeight(short propVal)
  2775. {
  2776. SetProperty(0x7, VT_I2, propVal);
  2777. }
  2778. short COleFont::GetCharset()
  2779. {
  2780. short result;
  2781. GetProperty(0x8, VT_I2, (void*)&result);
  2782. return result;
  2783. }
  2784. void COleFont::SetCharset(short propVal)
  2785. {
  2786. SetProperty(0x8, VT_I2, propVal);
  2787. }
  2788. /////////////////////////////////////////////////////////////////////////////
  2789. // COleFont operations
  2790. /////////////////////////////////////////////////////////////////////////////
  2791. // CMapXStyle properties
  2792. short CMapXStyle::GetSymbolCharacter()
  2793. {
  2794. short result;
  2795. GetProperty(0x1, VT_I2, (void*)&result);
  2796. return result;
  2797. }
  2798. void CMapXStyle::SetSymbolCharacter(short propVal)
  2799. {
  2800. SetProperty(0x1, VT_I2, propVal);
  2801. }
  2802. unsigned long CMapXStyle::GetLineColor()
  2803. {
  2804. unsigned long result;
  2805. GetProperty(0x2, VT_I4, (void*)&result);
  2806. return result;
  2807. }
  2808. void CMapXStyle::SetLineColor(unsigned long propVal)
  2809. {
  2810. SetProperty(0x2, VT_I4, propVal);
  2811. }
  2812. short CMapXStyle::GetLineStyle()
  2813. {
  2814. short result;
  2815. GetProperty(0x3, VT_I2, (void*)&result);
  2816. return result;
  2817. }
  2818. void CMapXStyle::SetLineStyle(short propVal)
  2819. {