AxHost.SetAboutBoxDelegate メソッド
ShowAboutBox メソッドを呼び出して、ActiveX コントロールの [バージョン情報] ダイアログ ボックスを表示します。
Protected Sub SetAboutBoxDelegate( _
ByVal d As AxHost.AboutBoxDelegate _)
[C#]
protected void SetAboutBoxDelegate(AxHost.AboutBoxDelegated);
[C++]
protected: void SetAboutBoxDelegate(AxHost.AboutBoxDelegate* d);
[JScript]
protected function SetAboutBoxDelegate(
d : AxHost.AboutBoxDelegate);
パラメータ
- d
呼び出す AxHost.AboutBoxDelegate 。
解説
SetAboutBoxDelegate メソッドでは、デリゲートを結び付けずに派生クラスで ShowAboutBox メソッドを処理できます。派生クラスで ShowAboutBox メソッドを処理する場合は、この手法をお勧めします。
継承時の注意: 派生クラスで SetAboutBoxDelegate をオーバーライドする場合は、登録されているデリゲートが ShowAboutBox メソッドを受け取ることができるように、基本クラスの SetAboutBoxDelegate メソッドを呼び出してください。
使用例
[C#] Microsoft Masked Edit ActiveX コントロールをラップする AxHost の派生クラスのコンストラクタ、 SetAboutBoxDelegate メソッド、および AttachInterfaces メソッドをオーバーライドする例を次に示します。このコードは、MSMask32.ocx ファイル上で /source
スイッチを使用して AxImp.exe を実行し、編集対象となるラッパー クラスを生成することで、生成されるソース コードを作成済みであることを前提としています。AxImp.exe の出力言語は C# だけなので、ここでは 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] Visual Basic、C++、および JScript のサンプルはありません。C# のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン をクリックします。
必要条件
プラットフォーム: Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 ファミリ
参照
AxHost クラス | AxHost メンバ | System.Windows.Forms 名前空間 | HasAboutBox | ShowAboutBox | AxHost.AboutBoxDelegate