1 [VC+AE ϵÁÐ] ʵÏÖ¶Ôͼ²ãµÄ±ê×¢¡¢¼òµ¥äÖȾ

?

±êעͼ²ã£º

1. void CAOTestView::OnCartoLabel() 2. {

3. // TODO: Add your command handler code here 4.

5. HRESULT hr;

6. IMapPtr pMap= m_ctrlMap.GetMap(); //m_ctrlMapÊÇMapControlµÄ¿Ø¼þ±äÁ¿ 7. ILayerPtr ipLayer=NULL;

8. pMap->get_Layer(m_ctrlMap.GetLayerCount()-1,&ipLayer); //»ñÈ¡×îºóµÄͼ²ã 9.

10. ILabelEngineLayerPropertiesPtr pLBProp; 11. IAnnotateLayerPropertiesPtr pALProp;

12. IAnnotateLayerPropertiesCollectionPtr pALProps; 13. IGeoFeatureLayerPtr pGeoFeatLyr= ipLayer; 14.

15. if(NULL==pGeoFeatLyr)

16. return ;

17. hr=pGeoFeatLyr->get_AnnotationProperties(&pALProps); 18. hr=pALProps->QueryItem(0,&pALProp,NULL,NULL); 19. if(NULL==(pLBProp=pALProp)) 20. return ;

21. pLBProp->put_IsExpressionSimple(VARIANT_TRUE);

22. pLBProp->put_Expression((_bstr_t)\ÉèÖñê×¢×ֶΣ¬´ó¼Ò¿½¹ýȥʱҪ¸ÄÏÂ×Ö¶ÎÃû 23.

24. //´´½¨±ê×¢·ûºÅ

25. IFormattedTextSymbolPtr pFormatTxtSym(CLSID_TextSymbol); 26. 27.

28. /////////////////×Ô¼ºÉèÖ÷ûºÅµÄÑùʽ/////////////////////// 29. // //ÉèÖñê×¢µÄ×ÖÌå

30. // IFontPtr pFont(__uuidof(StdFont));;

31. // pFont->put_Name((_bstr_t) \×ÖÌ弯 32. // CY cy;

33. // cy.Hi = 10 * 72; 34. // cy.Lo = 8 * 72; 35. // pFont->put_Size(cy); 36. // pFont->put_Bold(TRUE);

37. // pFormatTxtSym->put_Font((IFontDispPtr)pFont) ; 38. //

39. // //ÉèÖñê×¢µÄÑÕÉ« 40. // IColorPtr pColor;

41. // pFormatTxtSym->get_Color(&pColor); 42. // hr=pColor->put_RGB(RGB(0,120,0));//ÉîÂÌÉ« 43. // if(FAILED(hr)) return;

44. // hr=pFormatTxtSym->put_Color(pColor); 45.

46. /////////////////´ÓÑùʽ¿âÎļþÖлñÈ¡·ûºÅµÄÑùʽ///////////////////////// 47. IStyleGalleryItemPtr pSGitem=NULL;

48. IEnumStyleGalleryItemPtr pEnumSGitem;

49. IStyleGalleryPtr pStyleGall(CLSID_ServerStyleGallery); 50. IStyleGalleryStoragePtr pSGstorage(pStyleGall);

51. CString strStyleFile=\52. CString strStyleClass=\53.

54. //»ñÈ¡ÑùʽÎļþ

55. pSGstorage->put_TargetFile((_bstr_t)strStyleFile);

56. pStyleGall->get_Items((_bstr_t)strStyleClass,(_bstr_t)strStyleFile, 57. (_bstr_t)\58. if (NULL==pEnumSGitem) 59. {

60. MessageBox(\»ñÈ¡Ñùʽ¼¯Ê§°Ü!\61. return; 62. } 63.

64. BSTR bsName;

65. pEnumSGitem->Reset(); 66. pEnumSGitem->Next(&pSGitem); 67.

68. if (NULL==pSGitem) 69. {

70. MessageBox(\»ñÈ¡ÑùʽÏîʧ°Ü!\71. return; 72. }

73. IUnknownPtr pUnk;

74. pSGitem->get_Item(&pUnk); 75. if (NULL==(pFormatTxtSym=pUnk)) 76. { 77. return; 78. } 79.

80. pLBProp->putref_Symbol(pFormatTxtSym);

81. pGeoFeatLyr->put_DisplayAnnotation(VARIANT_TRUE);//ÏÔʾ±ê×¢ 82.

83. IActiveViewPtr pAV=m_ctrlMap.GetActiveView(); 84. pAV->Refresh(); 85. } ¸´ÖÆ´úÂë

?

äÖȾͼ²ã

äÖȾǰ£º

äÖȾºó£º