CAxDialogImpl クラス
更新 : 2007 年 11 月
このクラスは、ActiveX コントロールをホストするダイアログ ボックス (モーダルまたはモードレス) を実装します。
template <
class T,
class TBase = CWindow
>
class ATL_NO_VTABLE CAxDialogImpl :
public CDialogImplBaseT< TBase >
パラメータ
T
CAxDialogImpl の派生クラス。TBase
CDialogImplBaseT の基本ウィンドウ クラス。
解説
CAxDialogImpl では、モーダル ダイアログ ボックスまたはモードレス ダイアログ ボックスを作成できます。CAxDialogImpl にはダイアログ ボックス プロシージャが用意されています。このプロシージャは、既定のメッセージ マップを使用してメッセージを適切なハンドラに送ります。
CAxDialogImpl は CDialogImplBaseT の派生クラスで、CDialogImplBaseT は TBase (既定では CWindow) および CMessageMap の派生クラスです。
クラスには、ダイアログ テンプレート リソース ID を示す IDD メンバを定義する必要があります。たとえば、Add Class ダイアログ ボックスを使用する ATL ダイアログ オブジェクトを追加すると、次の行が自動的にクラスに追加されます。
enum { IDD = IDD_MYDLG };
ここでの、MyDialog は ATL ダイアログ ウィザードで入力された短い名前です。
詳細については、「ダイアログ ボックスの実装」を参照してください。
CAxDialogImpl で作成されたモーダル ダイアログ ボックスの ActiveX コントロールは、アクセラレータ キーをサポートしません。CAxDialogImpl で作成されたダイアログ ボックスでアクセラレータ キーをサポートするには、モードレス ダイアログ ボックスを作成し、独自のメッセージ ループを使用して、キューからメッセージを取得した後に CAxDialogImpl::IsDialogMessage でアクセラレータ キーを処理します。
CAxDialogImpl の詳細については、「ATL コントロール コンテインメント : Q & A 集」を参照してください。
必要条件
ヘッダー : atlwin.h