阅读:1152回复:2
pagelayout中选择要素
<P>如何在pagelayout中点击一点,查找并选择该点的要素</P>
<P> IPoint searchPoint = new ESRI.ArcGIS.Geometry.PointClass();<BR> searchPoint=axPageLayoutControl1.ActiveView.ScreenDisplay.DisplayTransformation.ToMapPoint(e.x,e.y);</P> <P> Console.WriteLine(searchPoint.X.ToString() + " " + searchPoint.Y.ToString());<BR> <BR> axPageLayoutControl1.ActiveView.FocusMap.ClearSelection(); <BR>axPageLayoutControl1.CtlRefresh(esriViewDrawPhase.esriViewGeoSelection,null,null); <BR> axPageLayoutControl1.ActiveView.FocusMap.SelectByShape((IGeometry)searchPoint,null,true);<BR> axPageLayoutControl1.CtlRefresh(esriViewDrawPhase.esriViewGeoSelection,null,null);<BR> IEnumFeature pEnumFeature2 = (IEnumFeature)axPageLayoutControl1.ActiveView.FocusMap.FeatureSelection;<BR> pEnumFeature2.Reset();<BR> IFeature pFeature2 = pEnumFeature2.Next();<BR> if(pFeature2!=null)<BR> {<BR> IRgbColor Color1 = new RgbColorClass();<BR> Color1.Green=250;<BR> ISimpleLineSymbol pLine = new SimpleLineSymbolClass();<BR> pLine.Color=Color1;<BR> pLine.Width=1;<BR> MessageBox.Show("找到了要素!");<BR> }<BR> else<BR> {<BR> MessageBox.Show("没有找到要素!");<BR> }</P> |
|
1楼#
发布于:2005-09-20 11:06
searchPoint的坐标不对,不知道怎么弄
|
|
2楼#
发布于:2005-09-20 19:06
<P>searchPoint=axPageLayoutControl1.ActiveView.ScreenDisplay.DisplayTransformation.ToMapPoint(e.x,e.y);</P>
<P>换成这样写(VB是这样,自己改成C#的吧)</P> <P>Dim pP As IPoint<BR>Set pP = New Point<BR>Dim pAvw As IActiveView<BR>Set pAvw = PageLayoutControl1.ActiveView.FocusMap<BR>Set pP = pAvw.ScreenDisplay.DisplayTransformation.ToMapPoint(x, y)</P> <P>注意一定要从FocusMap QI到IActiveView<BR></P> |
|
|