AxHost.AttachInterfaces 메서드

정의

파생된 클래스에서 재정의 되 면 내부 ActiveX 컨트롤에 인터페이스를 연결 합니다.When overridden in a derived class, attaches interfaces to the underlying ActiveX control.

protected:
 virtual void AttachInterfaces();
protected virtual void AttachInterfaces ();
abstract member AttachInterfaces : unit -> unit
override this.AttachInterfaces : unit -> unit
Protected Overridable Sub AttachInterfaces ()

예제

다음 코드 예제에서는 생성자를 재정의 하며 SetAboutBoxDelegateAttachInterfaces 의 메서드는 AxHost Microsoft 마스킹된 편집 ActiveX 컨트롤을 래핑하는 클래스를 파생 합니다.The following code example overrides the constructor, and the SetAboutBoxDelegate and AttachInterfaces methods of an AxHost derived class that wraps the Microsoft Masked Edit ActiveX Control. 이 코드를 실행 하려면 MSMask32.ocx 파일에서 AxImp.exe를 실행 하 여 생성된 된 소스 코드를 만든를 /source 편집할 래퍼 클래스를 생성 하는 스위치입니다.This code requires that you have created the generated source code by running the AxImp.exe on the MSMask32.ocx file with the /source switch to generate the wrapper class to be edited. 이 코드는 AxImp.exe에서 유일한 언어 출력 하는 C# 구문 으로만 표시 됩니다.This code is only shown in C# syntax because that is the only language output by the AxImp.exe.

public AxMaskEdBox()
    :
  base("c932ba85-4374-101b-a56c-00aa003668dc") // The ActiveX control's class identifier.
{
    // Make the AboutBox method the about box delegate.
    this.SetAboutBoxDelegate(new AboutBoxDelegate(AboutBox));
}

public virtual void AboutBox()
{
    // If the instance of the ActiveX control is null when the AboutBox method 
    // is called, raise an InvalidActiveXStateException exception.
    if ((this.ocx == null))
    {
        throw new System.Windows.Forms.AxHost.InvalidActiveXStateException(
          "AboutBox", System.Windows.Forms.AxHost.ActiveXInvokeKind.MethodInvoke);
    }
    // Show the about box if the ActiveX control has one.
    if (this.HasAboutBox)
    {
        this.ocx.AboutBox();
    }
}

protected override void AttachInterfaces()
{
    try
    {
        // Attach the IMSMask interface to the ActiveX control.
        this.ocx = ((MSMask.IMSMask)(this.GetOcx()));
    }
    catch (System.Exception ex)
    {
        System.Console.WriteLine(ex.Message);
    }
}

상속자 참고

AxHost를 확장 하는 클래스는이 메서드를 재정의 해야 합니다.Classes that extend AxHost should override this method. 이 메서드의 재정의 된 버전 내에서 확장 클래스는 자체 인터페이스를 검색 하기 위해 GetOcx()를 호출 해야 합니다.Within an overridden version of this method, the extending class should call GetOcx() to retrieve its own interface. 대부분의 경우에는이 메서드를 호출 하기 전에 GetOcx() 메서드를 호출 하면 안 됩니다.In most cases, the GetOcx() method should not be called before this method is called.

적용 대상

추가 정보