Export (0) Print
Expand All
Expand Minimize

AxHost.SetAboutBoxDelegate Method

Calls the ShowAboutBox method to display the ActiveX control's About dialog box.

[Visual Basic]
Protected Sub SetAboutBoxDelegate( _
   ByVal d As AxHost.AboutBoxDelegate _
)
[C#]
protected void SetAboutBoxDelegate(
 AxHost.AboutBoxDelegate d
);
[C++]
protected: void SetAboutBoxDelegate(
 AxHost.AboutBoxDelegate* d
);
[JScript]
protected function SetAboutBoxDelegate(
   d : AxHost.AboutBoxDelegate
);

Parameters

d
The AxHost.AboutBoxDelegate to call.

Remarks

The SetAboutBoxDelegate method also allows derived classes to handle the ShowAboutBox method without attaching a delegate. This is the preferred technique for handling the ShowAboutBox method in a derived class.

Notes to Inheritors:  When overriding SetAboutBoxDelegate in a derived class, be sure to call the base class's SetAboutBoxDelegate method so that registered delegates receive the ShowAboutBox method.

Example

[C#] The following example overrides the constructor, and the SetAboutBoxDelegate and AttachInterfaces methods of an AxHost derived class that wraps the Microsoft Masked Edit ActiveX Control. This code assumes 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. This code is only shown in C# syntax as that is the the only language output by the AxImp.exe.

[C#] 
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);
   }
}

[Visual Basic, C++, JScript] No example is available for Visual Basic, C++, or JScript. To view a C# example, click the Language Filter button Language Filter in the upper-left corner of the page.

Requirements

Platforms: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family

See Also

AxHost Class | AxHost Members | System.Windows.Forms Namespace | HasAboutBox | ShowAboutBox | AxHost.AboutBoxDelegate

Show:
© 2014 Microsoft