Freigeben über


CAxDialogImpl-Klasse

Diese Klasse implementiert ein Dialogfeld (modal oder moduslos), das ActiveX-Steuerelemente hostet.

Wichtig

Diese Klasse und ihre Member können nicht in Anwendungen verwendet werden, die in der Windows-Runtime ausgeführt werden.

Syntax

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

Parameter

T
Ihre Klasse, abgeleitet von CAxDialogImpl.

TBase
Die Basisfensterklasse für CDialogImplBaseT.

Mitglieder

Öffentliche Methoden

Name Beschreibung
CAxDialogImpl::AdviseSinkMap Rufen Sie diese Methode auf, um alle Einträge in der Sinkmap-Ereigniszuordnung des Objekts zu beraten oder zu aufheben.
CAxDialogImpl::Create Rufen Sie diese Methode auf, um ein Dialogfeld ohne Modus zu erstellen.
CAxDialogImpl::D estroyWindow Rufen Sie diese Methode auf, um ein Dialogfeld ohne Modus zu zerstören.
CAxDialogImpl::D oModal Rufen Sie diese Methode auf, um ein modales Dialogfeld zu erstellen.
CAxDialogImpl::EndDialog Rufen Sie diese Methode auf, um ein modales Dialogfeld zu zerstören.
CAxDialogImpl::GetDialogProc Rufen Sie diese Methode auf, um einen Zeiger auf die DialogProc Rückruffunktion abzurufen.
CAxDialogImpl::GetIDD Rufen Sie diese Methode auf, um die Ressourcen-ID der Dialogfeldvorlage abzurufen.
CAxDialogImpl::IsDialogMessage Rufen Sie diese Methode auf, um zu ermitteln, ob eine Nachricht für dieses Dialogfeld vorgesehen ist und ggf. die Nachricht verarbeitet.

Geschützte Datenmember

Name Beschreibung
CAxDialogImpl::m_bModal Eine Variable, die nur in Debugbuilds vorhanden ist und auf "true" festgelegt ist, wenn das Dialogfeld modal ist.

Hinweise

CAxDialogImpl ermöglicht es Ihnen, ein modales oder modusloses Dialogfeld zu erstellen. CAxDialogImpl stellt die Dialogfeldprozedur bereit, die die Standardmeldungszuordnung verwendet, um Nachrichten an die entsprechenden Handler zu leiten.

CAxDialogImplCDialogImplBaseTabgeleitet von , die wiederum von TBase (standardmäßigCWindow) und CMessageMap.

Ihre Klasse muss ein IDD-Element definieren, das die Ressourcen-ID der Dialogvorlage angibt. Wenn Sie beispielsweise ein ATL Dialog-Objekt mithilfe des Dialogfelds "Klasse hinzufügen" hinzufügen, wird Ihrer Klasse automatisch die folgende Zeile hinzugefügt:

enum { IDD = IDD_MYDLG };

dabei MyDialog handelt es sich um den im ATL-Dialogfeld-Assistenten eingegebenen Kurznamen .

Weitere Informationen finden Sie unter Implementieren eines Dialogfelds .

Beachten Sie, dass ein ActiveX-Steuerelement in einem modalen Dialogfeld, das mit CAxDialogImpl Zugriffstasten erstellt wurde, nicht unterstützt. Um Zugriffstasten in einem Dialogfeld zu unterstützen, das mit CAxDialogImpleinem Dialogfeld erstellt wurde, erstellen Sie ein Dialogfeld ohne Modus, und verwenden Sie mithilfe Ihrer eigenen Nachrichtenschleife CAxDialogImpl::IsDialogMessage , nachdem eine Nachricht aus der Warteschlange abgerufen wurde, um eine Zugriffstaste zu behandeln.

Weitere Informationen CAxDialogImplfinden Sie unter ATL Control Containment FAQ.

Vererbungshierarchie

CMessageMap

TBase

CWindowImplRoot

CDialogImplBaseT

CAxDialogImpl

Anforderungen

Kopfzeile: atlwin.h

CAxDialogImpl::AdviseSinkMap

Rufen Sie diese Methode auf, um alle Einträge in der Sinkmap-Ereigniszuordnung des Objekts zu beraten oder zu aufheben.

HRESULT AdviseSinkMap(bool bAdvise);

Parameter

bAdvise
Auf "true" festlegen, wenn alle Senkeneinträge empfohlen werden sollen; false, wenn alle Senkeneinträge nicht angezeigt werden sollen.

Rückgabewert

S_OK bei Erfolg, ein HRESULT-Fehler bei einem Fehlschlag.

CAxDialogImpl::Create

Rufen Sie diese Methode auf, um ein Dialogfeld ohne Modus zu erstellen.

HWND Create(HWND hWndParent, LPARAM dwInitParam = NULL);
HWND Create(HWND hWndParent, RECT&, LPARAM dwInitParam = NULL);

Parameter

hWndParent
[in] Das Handle für das Besitzerfenster.

dwInitParam
[in] Gibt den Wert an, der an das Dialogfeld im lParam-Parameter der WM_INITDIALOG Nachricht übergeben werden soll.

RECT&
Dieser Parameter wird nicht verwendet. Dieser Parameter wird von CComControl.

Rückgabewert

Das Handle für das neu erstellte Dialogfeld.

Hinweise

Dieses Dialogfeld wird automatisch an das CAxDialogImpl Objekt angefügt. Rufen Sie DoModal auf, um ein modales Dialogfeld zu erstellen.

Die zweite Außerkraftsetzung wird nur bereitgestellt, sodass Dialogfelder mit CComControl verwendet werden können.

CAxDialogImpl::D estroyWindow

Rufen Sie diese Methode auf, um ein Dialogfeld ohne Modus zu zerstören.

BOOL DestroyWindow();

Rückgabewert

TRUE, wenn das Fenster erfolgreich zerstört wird; andernfalls FALSE.

Hinweise

Rufen Sie nicht auf DestroyWindow , um ein modales Dialogfeld zu zerstören. Rufen Sie stattdessen EndDialog auf.

CAxDialogImpl::D oModal

Rufen Sie diese Methode auf, um ein modales Dialogfeld zu erstellen.

INT_PTR DoModal(
    HWND hWndParent = ::GetActiveWindow(),
    LPARAM dwInitParam = NULL);

Parameter

hWndParent
[in] Das Handle für das Besitzerfenster. Der Standardwert ist der Rückgabewert der GetActiveWindow Win32-Funktion.

dwInitParam
[in] Gibt den Wert an, der an das Dialogfeld im lParam-Parameter der WM_INITDIALOG Nachricht übergeben werden soll.

Rückgabewert

Wenn der Wert des im Aufruf von EndDialog angegebenen nRetCode-Parameters erfolgreich ist, andernfalls -1.

Hinweise

Dieses Dialogfeld wird automatisch an das CAxDialogImpl Objekt angefügt.

Rufen Sie "Erstellen" auf, um ein Dialogfeld ohne Modus zu erstellen.

CAxDialogImpl::EndDialog

Rufen Sie diese Methode auf, um ein modales Dialogfeld zu zerstören.

BOOL EndDialog(int nRetCode);

Parameter

nRetCode
[in] Der wert, der von DoModal zurückgegeben werden soll.

Rückgabewert

TRUE, wenn das Dialogfeld zerstört wird; andernfalls FALSE.

Hinweise

EndDialog muss über die Dialogfeldprozedur aufgerufen werden. Nachdem das Dialogfeld zerstört wurde, verwendet Windows den Wert nRetCode als Rückgabewert für , für DoModalden das Dialogfeld erstellt wurde.

Hinweis

Rufen Sie nicht auf EndDialog , um ein Dialogfeld ohne Modus zu zerstören. Rufen Sie stattdessen "DestroyWindow " auf.

CAxDialogImpl::GetDialogProc

Rufen Sie diese Methode auf, um einen Zeiger auf die DialogProc Rückruffunktion abzurufen.

virtual DLGPROC GetDialogProc();

Rückgabewert

Gibt einen Zeiger auf die DialogProc Rückruffunktion zurück.

Hinweise

Die DialogProc Funktion ist eine anwendungsdefinierte Rückruffunktion.

CAxDialogImpl::GetIDD

Rufen Sie diese Methode auf, um die Ressourcen-ID der Dialogvorlage abzurufen.

int GetIDD();

Rückgabewert

Gibt die Ressourcen-ID der Dialogfeldvorlage zurück.

CAxDialogImpl::IsDialogMessage

Rufen Sie diese Methode auf, um zu ermitteln, ob eine Nachricht für dieses Dialogfeld vorgesehen ist und ggf. die Nachricht verarbeitet.

BOOL IsDialogMessage(LPMSG pMsg);

Parameter

pMsg
Zeigen Sie auf eine MSG-Struktur , die die zu überprüfende Nachricht enthält.

Rückgabewert

Gibt TRUE zurück, wenn die Nachricht verarbeitet wurde, andernfalls FALSE.

Hinweise

Diese Methode soll in einer Nachrichtenschleife aufgerufen werden.

CAxDialogImpl::m_bModal

Eine Variable, die nur in Debugbuilds vorhanden ist und auf "true" festgelegt ist, wenn das Dialogfeld modal ist.

bool m_bModal;

Siehe auch

CDialogImpl-Klasse
Klassenübersicht