IMapFramePtr pMapFrame = NULL; IElementPtr pElement = NULL; IGeometryPtr pMapFrameGeometry = NULL; IEnvelopePtr pMapFrameEnvelope = NULL; HRESULT hr = S_OK; double dXMin = 0.0; double dYMin = 0.0; double dXMax = 0.0; double dYMax = 0.0; // QI to get the IElement interface pElement = pMapFrame; // Obtain the extent of the MapFrame geometry hr = pElement->get_Geometry(&pMapFrameGeometry); hr = pMapFrameGeometry->get_Envelope(&pMapFrameEnvelope); // Note that the min/max X,Y values are in page units (such as inches, cm, etc.) hr = pMapFrameEnvelope->QueryCoords(&dXMin, &dYMin, &dXMax, &dYMax);
IGraphicsContainerPtr pGraphicsContainer = NULL; IElementPtr pElement = NULL; IMapFramePtr pMapFrame = NULL; // Iterate across all the elements in the PageLayoutControl graphics container pGraphicsContainer = m_pPageLayoutControl->GetGraphicsContainer(); ASSERT(pGraphicsContainer != NULL); if (pGraphicsContainer != NULL) { hr = pGraphicsContainer->Reset(); hr = pGraphicsContainer->Next(&pElement); // Examine the next page element, only being interested in MapFrame elements for this method while (pElement != NULL) { // QI to determine if this graphic element is the MapFrame pMapFrame = pElement; if (pMapFrame != NULL) { // ... processing for the MapFrame element } hr = pGraphicsContainer->Next(&pElement); }
Aangemelde leden kunnen berichten plaatsen, updates volgen en meer. Nieuw hier? Registreer een gratis account.
Find useful guides, FAQs, and documents to help you navigate and make the most of Esri Community.