MAPX.CPP
上传用户:gulin912
上传日期:2022-08-10
资源大小:330k
文件大小:150k
源码类别:

GIS编程

开发平台:

Visual C++

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