主程序中,需要添加TOCControl和MapControl的对象,并实例化,设置setBuddy,在TOCContol的mouse
down事件中,添加右键菜单:
Load事件:
m_ToolbarMenu =
new ToolbarMenuClass();
m_ToolbarMenu.CommandPool =
axToolbarControl1.CommandPool;
axTOCControl1.LabelEdit =
esriTOCControlEdit.esriTOCControlManual;
m_tocControl =
(ITOCControl2)axTOCControl1.Object;
m_mapControl =
(IMapControl3)axMapControl1.Object;
m_tocControl.SetBuddyControl(m_mapControl);
axToolbarControl1.SetBuddyControl(m_mapControl);
程序中获得exportRect属性的方法,与前面两个获得的方法可以互换,是通用的(书上是这么说,有待考证呵呵)
private void ExportPDF()
{
IActiveView
pActiveView = axPageLayoutControl1.ActiveView;
IEnvelope pEnv
= pActiveView.Extent;
IExport pExport
= new ExportPDFClass();
pExport.ExportFileName = @'E:\exportTest1.pdf';
pExport.Resolution =
pActiveView.ScreenDisplay.DisplayTransformation.Resolution;
tagRECT
exportRect;
&nb
public override void
OnMouseDown(int Button, int Shift, int X, int Y)
{
// TODO:
Add Tool1.OnMouseDown implementation
IPoint point =
m_hookHelper.ActiveView.ScreenDisplay.DisplayTransformation.ToMapPoint(X,
Y);
IGraphicsContainerSelect graContSel =
(IGraphicsContainerSelect)m_hookHelper.ActiveView;//通过鼠标点击选择工具,选择多个要素后才能用此工具
IDisplayFeedback dispFeed = null;
IElement elem =
null;
if
(graContSel.ElementSelectionCount > 0)
private void axMapControl1_OnMouseDown(object sender,
IMapControlEvents2_OnMouseDownEvent e)
{
IGeoFeatureLayer
pGeoFeatureLayer=(IGeoFeatureLayer)axMapControl1.Map.get_Layer(0);
IChartRenderer pChartRenderer;
IRendererFields pRendererFields;
IPieChartRenderer pPieChartRenderer;
&
private void axMapControl1_OnMouseDown(object sender,
IMapControlEvents2_OnMouseDownEvent e)
{
IPoint pPoint = new PointClass();
ITextElement pTextElement = new TextElementClass();
IFormattedTextSymbol pTextSymbol = new
TextSymbolClass();
//得到字体样式
System.Drawing.Font font = new System.Drawing.Font('Arial', 16,
FontStyle.Underline);
pTextSymbol.Font =
(stdole.IFontDisp)OLE.GetIFontDispFromFont(font);
&nb
private void
axMapControl1_OnMouseDown(object sender,
ESRI.ArcGIS.Controls.IMapControlEvents2_OnMouseDownEvent e)
{
//
bool a = true;
IAlgorithmicColorRamp pColorRamp = new
AlgorithmicColorRampClass();
pColorRamp.FromColor = GetRGBColor(140, 227, 190);
pColorRamp.ToColor = GetRGBColor(255, 215, 0);
&nb
private void
button1_Click(object sender, EventArgs e)
{
IMap pMap = axMapControl1.ActiveView.FocusMap;
IActiveView pActiveView = axMapControl1.ActiveView;
IFeatureLayer pFeatureLayer=(IFeatureLayer)pMap.get_Layer(0);
IFeatureLayerDefinition pFeatureLayerDefinition =
(IFeatureLayerDefinition)pFeatureLayer;
pFeatureLayerDefinition.DefinitionExpression = 'FID<10';
pActiveView.Refresh();
&n