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
.
Member
Ö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.
CAxDialogImpl
CDialogImplBaseT
abgeleitet 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 CAxDialogImpl
einem 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 CAxDialogImpl
finden Sie unter ATL Control Containment FAQ.
Vererbungshierarchie
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 DoModal
den 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;