Hoe kan ik toegang krijgen tot de AddShapefile-methode in HookHelper?

Ik ben onbekend met ArcEngine en ArcObjects. Ik zou graag een extensie voor ArcMap ontwikkelen waarin ik IHookHelper moet gebruiken in plaats van AxMapControl . Ik ben op zoek naar de AddShapefile -methode, die beschikbaar is voor AxMapControl , maar kennelijk ontbreekt in de IHookHelper -interface.

public partial class conversionRtoP : Form
{
    public IHookHelper phookhelperRtoP;
    public IRaster praster;

    public conversionRtoP()
    {
        InitializeComponent();
    }

    private void conversionRtoP_Load(object sender, EventArgs e)
    {
        for (int i = 0; i < phookhelperRtoP.FocusMap.LayerCount; i++)
        {
            if (phookhelperRtoP.FocusMap.get_Layer(i) is IRasterLayer)
            {
                comboBox1.Items.Add(phookhelperRtoP.FocusMap.get_Layer(i).Name.ToString());
            }
        }
    }

    private void button1_Click(object sender, EventArgs e)
    {
        Geoprocessor gp = new Geoprocessor();
        IConversionOp pconversionop;
        pconversionop = new RasterConversionOpClass();

        for (int i = 0; i < phookhelperRtoP.FocusMap.LayerCount; i++)
        {
            if (phookhelperRtoP.FocusMap.get_Layer(i).Name == comboBox1.Text)
            {
                praster = (IRaster)phookhelperRtoP.FocusMap.get_Layer(i);
            }
        }

        ESRI.ArcGIS.ConversionTools.RasterToPolygon prastertopoly = new RasterToPolygon(praster, outputpathtext);
        ESRI.ArcGIS.Geoprocessing.IGeoProcessorResult gpresult;
        gpresult = (IGeoProcessorResult)gp.Execute(prastertopoly, null);
        int j;
        string gppath;
        gppath = outputpathtext.Text;
        j = gppath.LastIndexOf("\b");
       //this is my problem:
        ***phookhelperRtoP.(where is addshapefile method)***
    }

    private void button3_Click(object sender, EventArgs e)
    {
        SaveFileDialog savedialog = new SaveFileDialog();
        savedialog.CheckFileExists = true;
        savedialog.Filter = "Shapefile (*.shp)|*.shp";
        savedialog.Title = " Save";
        savedialog.RestoreDirectory = true;
        savedialog.FileName = comboBox1.Text;
        DialogResult dr = savedialog.ShowDialog();
        if (dr == System.Windows.Forms.DialogResult.OK)
        {
            outputpathtext.Text = savedialog.FileName;
        }
2

1 antwoord

U lijkt te werken met Windows Forms. Kun je een niet plaatsen? MapControl beheren op uw formulier? (Vink de toolbox in de Windows Forms-ontwerper aan, er moet een categorie zijn voor ESRI-besturingselementen.)

Die controle ondersteunt de verschillende IMapControl -interfaces (bijv. IMapControl4 ) met een AddShapeFile -methode .

1
toegevoegd