当前位置: 首页>>代码示例>>C#>>正文


C# CAUUID.GetPages方法代码示例

本文整理汇总了C#中CAUUID.GetPages方法的典型用法代码示例。如果您正苦于以下问题:C# CAUUID.GetPages方法的具体用法?C# CAUUID.GetPages怎么用?C# CAUUID.GetPages使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在CAUUID的用法示例。


在下文中一共展示了CAUUID.GetPages方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: OnClick

    /// <summary>
    /// Occurs when this command is clicked
    /// </summary>
    public override void OnClick()
    {
      try
      {
        //search for the weatherLayer first
        ILayer layer = null;
        RSSWeatherLayerClass RSSLayer = null;

        if (m_pHookHelper.FocusMap.LayerCount == 0)
          return;

        IEnumLayer layers = m_pHookHelper.FocusMap.get_Layers(null, false);
        layers.Reset();
        layer = layers.Next();
        while (layer != null)
        {
          if (layer is RSSWeatherLayerClass)
          {
            RSSLayer = (RSSWeatherLayerClass)layer;
            break;
          }
          layer = layers.Next();
        }

        //In case that the weather layer wasn't found,just return
        if (null == RSSLayer)
          return;


        //Launch the layer's properties
        Type typ;
        object obj;
        Guid[] g;

        // METHOD 1: Instantiating a COM object and displaying its property pages
        // ONLY WORKS ON TRUE COM OBJECTS!  .NET objects that have rolled their own
        // ISpecifyPropertyPages implementation will error out when you try to cast
        // the instantiated object to your own ISpecifyPropertyPages implementation.

        // Get the typeinfo for the ActiveX common dialog control
        typ = Type.GetTypeFromProgID("MSComDlg.CommonDialog");

        // Create an instance of the control.  We pass it to the property frame function
        // so the property pages have an object from which to get current settings and apply
        // new settings.
        obj = Activator.CreateInstance(typ);
        // This handy function calls IPersistStreamInit->New on COM objects to initialize them
        ActiveXMessageFormatter.InitStreamedObject(obj);

        // Get the property pages for the control using the direct CAUUID method
        // This only works for true COM objects and I demonstrate it here only
        // to show how it is done.  Use the static method
        // PropertyPage.GetPagesForType() method for real-world use.
        ISpecifyPropertyPages pag = (ISpecifyPropertyPages)obj;
        CAUUID cau = new CAUUID(0);
        pag.GetPages(ref cau);
        g = cau.GetPages();

        // Instantiating a .NET object and displaying its property pages
        // WORKS ON ALL OBJECTS, .NET or COM    

        // Create an instance of the .NET control, MyUserControl
        typ = Type.GetTypeFromProgID("RSSWeatherLayer.PropertySheet");

        // Retrieve the pages for the control
        g = PropertyPage.GetPagesForType(typ);

        // Create an instance of the control that we can give to the property pages
        obj = Activator.CreateInstance(typ);

        //add the RSS layer to the property-sheet control
        ((PropertySheet)obj).RSSWatherLayer = RSSLayer;

        // Display the OLE Property page for the control
        object[] items = new object[] { obj };

        PropertyPage.CreatePropertyFrame(IntPtr.Zero, 500, 500, "RSS Layer properties", items, g);
      }
      catch (Exception ex)
      {
        System.Diagnostics.Trace.WriteLine(ex.Message);
      }
    }
开发者ID:Esri,项目名称:arcobjects-sdk-community-samples,代码行数:86,代码来源:RSSLayerProperties.cs

示例2: OnClick

        /// <summary>
        /// Occurs when this command is clicked
        /// </summary>
        public override void OnClick()
        {
            try
              {
            IMapControl4 mapControl = null;

            if (m_pHookHelper.Hook is IMapControl4)
              mapControl = (IMapControl4)m_pHookHelper.Hook;
            else if (m_pHookHelper.Hook is IToolbarControl2)
            {
              IToolbarControl2 toolbarControl = (IToolbarControl2)m_pHookHelper.Hook;
              mapControl = (IMapControl4)toolbarControl.Buddy;
            }

            if (null == mapControl.CustomProperty || !(mapControl.CustomProperty is IFeatureLayer))
              return;

            IFeatureLayer featureLayer = (IFeatureLayer)mapControl.CustomProperty;

            //Launch the layer's properties
            Type typ;
            object obj;
            Guid[] g;

            // METHOD 1: Instantiating a COM object and displaying its property pages
            // ONLY WORKS ON TRUE COM OBJECTS!  .NET objects that have rolled their own
            // ISpecifyPropertyPages implementation will error out when you try to cast
            // the instantiated object to your own ISpecifyPropertyPages implementation.

            // Get the typeinfo for the ActiveX common dialog control
            typ = Type.GetTypeFromProgID("MSComDlg.CommonDialog");

            // Create an instance of the control.  We pass it to the property frame function
            // so the property pages have an object from which to get current settings and apply
            // new settings.
            obj = Activator.CreateInstance(typ);
            // This handy function calls IPersistStreamInit->New on COM objects to initialize them
            ActiveXMessageFormatter.InitStreamedObject(obj);

            // Get the property pages for the control using the direct CAUUID method
            // This only works for true COM objects and I demonstrate it here only
            // to show how it is done.  Use the static method
            // PropertyPage.GetPagesForType() method for real-world use.
            ISpecifyPropertyPages pag = (ISpecifyPropertyPages)obj;
            CAUUID cau = new CAUUID(0);
            pag.GetPages(ref cau);
            g = cau.GetPages();

            // Instantiating a .NET object and displaying its property pages
            // WORKS ON ALL OBJECTS, .NET or COM

            // Create an instance of the .NET control, MyUserControl
            typ = Type.GetTypeFromProgID("SymbolSelector.PropertySheet");

            // Retrieve the pages for the control
            g = PropertyPage.GetPagesForType(typ);

            // Create an instance of the control that we can give to the property pages
            obj = Activator.CreateInstance(typ);

            ((SymbolSelector.PropertySheet)obj).OnFeatureLayerRendererChanged += new FeatureLayerRendererChanged(OnFeatureLayerRendererChanged);

            //add the yahoo layer to the property-sheet control
            ((SymbolSelector.PropertySheet)obj).FeatureLayer = featureLayer;

            // Display the OLE Property page for the control
            object[] items = new object[] { obj };

            PropertyPage.CreatePropertyFrame(IntPtr.Zero, 500, 500, "FeatureLayer Symbology", items, g);
              }
              catch (Exception ex)
              {
            System.Diagnostics.Trace.WriteLine(ex.Message);
              }
        }
开发者ID:truonghinh,项目名称:TnX,代码行数:78,代码来源:FeatureLayerSymbology.cs


注:本文中的CAUUID.GetPages方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。