yingerren
路人甲
路人甲
  • 注册日期2004-04-08
  • 发帖数27
  • QQ
  • 铜币248枚
  • 威望0点
  • 贡献值0点
  • 银元0个
阅读:1929回复:2

data frame的大小和位置定义用什么接口?急

楼主#
更多 发布于:2004-07-21 15:27
data frame的大小和位置定义用什么接口?能详细一点吗?
喜欢0 评分0
yingerren
路人甲
路人甲
  • 注册日期2004-04-08
  • 发帖数27
  • QQ
  • 铜币248枚
  • 威望0点
  • 贡献值0点
  • 银元0个
1楼#
发布于:2004-07-22 09:02
<P>呵呵,很是感谢,问题解决了。</P>
举报 回复(0) 喜欢(0)     评分
gis
gis
管理员
管理员
  • 注册日期2003-07-16
  • 发帖数15951
  • QQ
  • 铜币25345枚
  • 威望15368点
  • 贡献值0点
  • 银元0个
  • GIS帝国居民
  • 帝国沙发管家
  • GIS帝国明星
  • GIS帝国铁杆
2楼#
发布于:2004-07-21 23:04
<P>可以看看DataFrame Commands这个例子</P>
<P>也可以看看这个</P>
<P>
<TABLE  cellSpacing=0 cellPadding=0 width="100%" border=0>

<TR >
<TD  vAlign=top>
<P  align=left><B>Creating a New Map</B><p></p></P></TD>
<TD  vAlign=top>
<P  align=right><v:shapetype><v:stroke joinstyle="miter"></v:stroke><v:formulas><v:f eqn="if lineDrawn pixelLineWidth 0"></v:f><v:f eqn="sum @0 1 0"></v:f><v:f eqn="sum 0 0 @1"></v:f><v:f eqn="prod @2 1 2"></v:f><v:f eqn="prod @3 21600 pixelWidth"></v:f><v:f eqn="prod @3 21600 pixelHeight"></v:f><v:f eqn="sum @0 0 1"></v:f><v:f eqn="prod @6 1 2"></v:f><v:f eqn="prod @7 21600 pixelWidth"></v:f><v:f eqn="sum @8 21600 0"></v:f><v:f eqn="prod @7 21600 pixelHeight"></v:f><v:f eqn="sum @10 21600 0"></v:f></v:formulas><v:path connecttype="rect" gradientshapeok="t" extrusionok="f"></v:path><lock aspectratio="t" v:ext="edit"></lock></v:shapetype><v:shape></v:shape><p></p></P></TD></TR></TABLE></P>
<P  align=left>
<B>Description:</B>

The following code shows you how to create a new data frame (map) and add it to your document. The new data frame is then activated. This mimics the functionality of the Insert > Dataframe menu item in ArcMap.

<B>How to use:</B> <p></p></P>
<OL type=1>
<LI class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt">Copy-paste this procedure into the VB Editor in ArcMap. <p></p></LI>
<LI class=MsoNormal style="MARGIN: 0cm 0cm 0pt; TEXT-ALIGN: left; mso-pagination: widow-orphan; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto; mso-list: l0 level1 lfo1; tab-stops: list 36.0pt">Run the procedure. <p></p></LI></OL>
<P  align=left>Private Sub CreateAndAddNewMap()<p></p></P>
<P  align=left>  Dim pMxDoc As IMxDocument<p></p></P>
<P  align=left>  Set pMxDoc = ThisDocument<p></p></P>
<P  align=left>  <p></p></P>
<P  align=left>  'Create a new map<p></p></P>
<P  align=left>  Dim pMap As IMap<p></p></P>
<P  align=left>  Set pMap = New Map<p></p></P>
<P  align=left>  pMap.Name = "My Map"<p></p></P>
<P  align=left>    <p></p></P>
<P  align=left>  'Create a new MapFrame and associate map with it<p></p></P>
<P  align=left>  Dim pMapFrame As IMapFrame<p></p></P>
<P  align=left>  Set pMapFrame = New MapFrame<p></p></P>
<P  align=left>  Set pMapFrame.Map = pMap<p></p></P>
<P  align=left>  <p></p></P>
<P  align=left>  'Set the position of the new map frame<p></p></P>
<P  align=left>  Dim pElement As IElement<p></p></P>
<P  align=left>  Dim pEnv As IEnvelope<p></p></P>
<P  align=left>  Set pElement = pMapFrame<p></p></P>
<P  align=left>  Set pEnv = New Envelope<p></p></P>
<P  align=left>  pEnv.PutCoords 0, 0, 5, 5<p></p></P>
<P  align=left>  pElement.Geometry = pEnv<p></p></P>
<P  align=left>  <p></p></P>
<P  align=left>  'Add mapframe to the layout<p></p></P>
<P  align=left>  Dim pGraphicsContainer As IGraphicsContainer<p></p></P>
<P  align=left>  Set pGraphicsContainer = pMxDoc.PageLayout<p></p></P>
<P  align=left>  pGraphicsContainer.AddElement pMapFrame, 0<p></p></P>
<P  align=left>  <p></p></P>
<P  align=left>  'Make the newly added map the focus map<p></p></P>
<P  align=left>  Dim pActiveView As IActiveView<p></p></P>
<P  align=left>  Set pActiveView = pMxDoc.ActiveView<p></p></P>
<P  align=left>  If TypeOf pActiveView Is IPageLayout Then<p></p></P>
<P  align=left>    Set pActiveView.FocusMap = pMap<p></p></P>
<P  align=left>  Else<p></p></P>
<P  align=left>    Set pMxDoc.ActiveView = pMap<p></p></P>
<P  align=left>  End If<p></p></P>
<P  align=left>  <p></p></P>
<P  align=left>  'Refresh ActiveView and TOC<p></p></P>
<P  align=left>  pActiveView.Refresh<p></p></P>
<P  align=left>  pMxDoc.CurrentContentsView.Refresh 0<p></p></P>
<P  align=left>End Sub<p></p></P>
<P ><p><FONT face="Times New Roman" size=3> </FONT></p></P>

[此贴子已经被作者于2004-7-21 23:06:02编辑过]
GIS麦田守望者,期待与您交流。
举报 回复(0) 喜欢(0)     评分
游客

返回顶部