次の方法で共有


CAxDialogImpl クラス

更新 : 2007 年 11 月

このクラスは、ActiveX コントロールをホストするダイアログ ボックス (モーダルまたはモードレス) を実装します。

template <
   class T,
   class TBase = CWindow
>
class ATL_NO_VTABLE CAxDialogImpl :
   public CDialogImplBaseT< TBase >

パラメータ

  • T
    CAxDialogImpl の派生クラス。

  • TBase
    CDialogImplBaseT の基本ウィンドウ クラス。

解説

CAxDialogImpl では、モーダル ダイアログ ボックスまたはモードレス ダイアログ ボックスを作成できます。CAxDialogImpl にはダイアログ ボックス プロシージャが用意されています。このプロシージャは、既定のメッセージ マップを使用してメッセージを適切なハンドラに送ります。

CAxDialogImplCDialogImplBaseT の派生クラスで、CDialogImplBaseTTBase (既定では CWindow) および CMessageMap の派生クラスです。

クラスには、ダイアログ テンプレート リソース ID を示す IDD メンバを定義する必要があります。たとえば、Add Class ダイアログ ボックスを使用する ATL ダイアログ オブジェクトを追加すると、次の行が自動的にクラスに追加されます。

enum { IDD = IDD_MYDLG };

ここでの、MyDialog は ATL ダイアログ ウィザードで入力された短い名前です。

詳細については、「ダイアログ ボックスの実装」を参照してください。

CAxDialogImpl で作成されたモーダル ダイアログ ボックスの ActiveX コントロールは、アクセラレータ キーをサポートしません。CAxDialogImpl で作成されたダイアログ ボックスでアクセラレータ キーをサポートするには、モードレス ダイアログ ボックスを作成し、独自のメッセージ ループを使用して、キューからメッセージを取得した後に CAxDialogImpl::IsDialogMessage でアクセラレータ キーを処理します。

CAxDialogImpl の詳細については、「ATL コントロール コンテインメント : Q & A 集」を参照してください。

必要条件

ヘッダー : atlwin.h

参照

参照

CDialogImpl クラス

その他の技術情報

CAxDialogImpl のメンバ

ATL クラスの概要