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. } ¸´ÖÆ´úÂë
?
äÖȾͼ²ã
äÖȾǰ£º
äÖȾºó£º