This project has moved and is read-only. For the latest updates, please go here.

AxHostControl Class

Syntax

[ComVisible(true)]
[ProgId("Saraff.AxHost.AxHostControl")]
[Guid("83368D28-D24A-4543-9B1A-6D7B0152C54F")]
[ClassInterface(ClassInterfaceType.None)]
[ComDefaultInterface(typeof(IAxHost))]
[ComSourceInterfaces(typeof(IAxHostEvents))]
[DefaultProperty("ApplicationControlName")]
[DefaultEvent("FireEvent")]
[Description("Предоставляет хостинг для пользовательских элементов управления в приложениях c неуправляемым кодом.")]
public sealed class AxHostControl:AxHostBaseControl, IAxHost

Constructors

/// <summary>
/// Initializes a new instance of the <see cref="AxHostControl"/> class.
/// </summary>
public AxHostControl()

Methods

/// <summary>
/// Создает и возвращает описание метода.
/// </summary>
/// <param name="methodName">Имя метода.</param>
/// <returns>Описание метода.</returns>
public MethodDescriptor CreateMethodDescriptor(string methodName)

/// <summary>
/// Выполняет указанный метод и возвращает результат.
/// </summary>
/// <param name="methodDescriptor">Описание метода.</param>
/// <returns>Результат.</returns>
public object PerformMethod(MethodDescriptor methodDescriptor)

/// <summary>
/// Добавляет параметр компонента.
/// </summary>
/// <param name="param">Значение параметра.</param>
public void AddComponentParameter(object param)

/// <summary>
/// Загружает и инициализирует компонент.
/// </summary>
public void Load()

Properties

/// <summary>
/// Возвращает или устанавливает имя пользовательского элемента управления.
/// </summary>
/// <remarks>Имя имеет формат: "имя файла сборки"!"полное имя элемента управления"</remarks>
/// <example>MyAssembly.dll!MyNamespace.MyControl</example>
[DefaultValue("")]
[Category("Behavior")]
public string ApplicationTypeName {get; set;}

/// <summary>
/// Возвращает или устанавливает рабочий каталог.
/// </summary>
public string WorkingDirectory {get; set;}

Events

/// <summary>
/// Возникает в момент, когда необходимо обработать одно из событий пользовательского компонента.
/// </summary>
[Category("Action")]
public event AxHostControlFireEventHandler FireEvent;

Remarks

Предоставляет хостинг для пользовательских элементов управления в приложениях c неуправляемым кодом.
Provide hosting by custom controls in unmanaged code.

Examples

<script language="javascript" type="text/javascript">
  function LoadScanControl() {
    try {
      if (AxHost && AxHost.object) {
        req.innerHTML = "";
        AxHost.WorkingDirectory = location.href.substr(0, location.href.lastIndexOf("/"));
        AxHost.ApplicationTypeName = "Saraff.Twain.WebSample.dll!Saraff.Twain.WebSample.ScanControl";
        AxHost.AddComponentParameter(AxHost.WorkingDirectory + "TwainHandler.ashx")
        AxHost.Load();
      }
    } catch (ex) {
      alert(ex.message);
    }
  }
  // ...
  function Uploaded(imageName) {
    StatusBar.innerText = imageName;
    ImageList.insertRow(1).insertCell(0).innerText = imageName;
  }
  // ...
</script>

<body onload="LoadScanControl()">

  <object id="Object1" 
          name="AxHost" 
          width="640" 
          height="480" 
          classid="clsid:83368D28-D24A-4543-9B1A-6D7B0152C54F" 
          codebase="Saraff.AxHost.cab" ></object>
  <script language="javascript" type="text/javascript">
    function AxHost::FireEvent(eventId) {
      switch(eventId.EventName){
        case "Uploading":
          // ...
          break;
        case "Uploaded":
          Uploaded(eventId.GetParam("Name"));
          break;
        case "Error":
          // ...
          break;
      }
    }
  </script>
</body>

Last edited Aug 26, 2015 at 6:24 PM by SARAFF, version 1