Delen via


Klasse CAxDialogImpl

Opmerking

De ATL (Active Template Library) wordt nog steeds ondersteund. We voegen echter geen functies meer toe of werken de documentatie bij.

Met deze klasse wordt een dialoogvenster (modaal of modusloos) geïmplementeerd dat als host fungeert voor ActiveX-besturingselementen.

Belangrijk

Deze klasse en de bijbehorende leden kunnen niet worden gebruikt in toepassingen die worden uitgevoerd in Windows Runtime.

Syntaxis

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

Parameterwaarden

T
Uw klas, afgeleid van CAxDialogImpl.

TBase
De basisvensterklasse voor CDialogImplBaseT.

Leden

Openbare methoden

Naam Description
CAxDialogimpl::AdviseSinkMap Roep deze methode aan om alle vermeldingen in het gebeurtenisoverzichtsoverzicht van het object te adviseren of ongedaan te maken.
CAxDialogImpl::Create Roep deze methode aan om een modusloos dialoogvenster te maken.
CAxDialogImpl::D estroyWindow Roep deze methode aan om een modusloos dialoogvenster te vernietigen.
CAxDialogImpl::D oModal Roep deze methode aan om een modaal dialoogvenster te maken.
CAxDialogImpl::EndDialog Roep deze methode aan om een modaal dialoogvenster te vernietigen.
CAxDialogImpl::GetDialogProc Roep deze methode aan om een aanwijzer op te halen naar de DialogProc callback-functie.
CAxDialogImpl::GetIDD Deze methode aanroepen om de resource-id van de dialoogvenstersjabloon op te halen
CAxDialogimpl::IsDialogMessage Roep deze methode aan om te bepalen of een bericht is bedoeld voor dit dialoogvenster en, als dit het is, het bericht verwerken.

Beveiligde gegevensleden

Naam Description
CAxDialogImpl::m_bModal Een variabele die alleen bestaat in builds voor foutopsporing en is ingesteld op true als het dialoogvenster modaal is.

Opmerkingen

CAxDialogImpl hiermee kunt u een modaal of modusloos dialoogvenster maken. CAxDialogImpl bevat de procedure in het dialoogvenster, die gebruikmaakt van de standaardberichttoewijzing om berichten naar de juiste handlers te sturen.

CAxDialogImpl is afgeleid van CDialogImplBaseT, die op zijn beurt is afgeleid van TBase (standaard CWindow) en CMessageMap.

Uw klasse moet een IDD-lid definiëren waarmee de resource-id van de dialoogvenstersjabloon wordt opgegeven. Als u bijvoorbeeld een ATL-dialoogvensterobject toevoegt met behulp van het dialoogvenster Klasse toevoegen , wordt automatisch de volgende regel aan uw klasse toegevoegd:

enum { IDD = IDD_MYDLG };

waar MyDialog is de korte naam die is ingevoerd in de wizard ATL-dialoogvenster.

Zie Een dialoogvenster implementeren voor meer informatie.

Houd er rekening mee dat een ActiveX-besturingselement in een modaal dialoogvenster dat is gemaakt met CAxDialogImpl geen ondersteuning biedt voor sneltoetsen. Als u acceleratorsleutels wilt ondersteunen in een dialoogvenster dat is gemaakt met CAxDialogImpl, maakt u een modusloos dialoogvenster en gebruikt u uw eigen berichtlus, gebruikt u CAxDialogImpl::IsDialogMessage nadat u een bericht uit de wachtrij hebt ontvangen om een acceleratorsleutel af te handelen.

Zie veelgestelde vragen over CAxDialogImplATL-besturingselementen voor meer informatie.

Overnamehiërarchie

CMessageMap

TBase

CWindowImplRoot

CDialogImplBaseT

CAxDialogImpl

Requirements

Koptekst: atlwin.h

CAxDialogimpl::AdviseSinkMap

Roep deze methode aan om alle vermeldingen in het gebeurtenisoverzichtsoverzicht van het object te adviseren of ongedaan te maken.

HRESULT AdviseSinkMap(bool bAdvise);

Parameterwaarden

bAdvise
Ingesteld op waar als alle sinkvermeldingen moeten worden geadviseerd; onwaar als alle sinkvermeldingen niet moeten worden gebruikt.

Retourwaarde

Retourneert S_OK bij succes of een fout HRESULT bij fout.

CAxDialogImpl::Create

Roep deze methode aan om een modusloos dialoogvenster te maken.

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

Parameterwaarden

hWndParent
[in] De ingang naar het eigenaarvenster.

dwInitParam
[in] Hiermee geeft u de waarde die moet worden doorgegeven aan het dialoogvenster in de parameter lParam van het WM_INITDIALOG bericht.

RECT&
Deze parameter wordt niet gebruikt. Deze parameter wordt doorgegeven door CComControl.

Retourwaarde

De ingang naar het zojuist gemaakte dialoogvenster.

Opmerkingen

Dit dialoogvenster wordt automatisch aan het CAxDialogImpl object gekoppeld. Als u een modaal dialoogvenster wilt maken, roept u DoModal aan.

De tweede onderdrukking is alleen beschikbaar, zodat dialoogvensters kunnen worden gebruikt met CComControl.

CAxDialogImpl::D estroyWindow

Roep deze methode aan om een modusloos dialoogvenster te vernietigen.

BOOL DestroyWindow();

Retourwaarde

WAAR als het venster is vernietigd; anders ONWAAR.

Opmerkingen

Roep niet DestroyWindow aan om een modaal dialoogvenster te vernietigen. Roep in plaats daarvan EndDialog aan.

CAxDialogImpl::D oModal

Roep deze methode aan om een modaal dialoogvenster te maken.

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

Parameterwaarden

hWndParent
[in] De ingang naar het eigenaarvenster. De standaardwaarde is de retourwaarde van de functie GetActiveWindow Win32.

dwInitParam
[in] Hiermee geeft u de waarde die moet worden doorgegeven aan het dialoogvenster in de parameter lParam van het WM_INITDIALOG bericht.

Retourwaarde

Als dit lukt, de waarde van de parameter nRetCode die is opgegeven in de aanroep naar EndDialog; anders, -1.

Opmerkingen

Dit dialoogvenster wordt automatisch aan het CAxDialogImpl object gekoppeld.

Als u een modusloos dialoogvenster wilt maken, roept u Maken aan.

CAxDialogImpl::EndDialog

Roep deze methode aan om een modaal dialoogvenster te vernietigen.

BOOL EndDialog(int nRetCode);

Parameterwaarden

nRetCode
[in] De waarde die moet worden geretourneerd door DoModal.

Retourwaarde

WAAR als het dialoogvenster wordt vernietigd; anders, ONWAAR.

Opmerkingen

EndDialog moet worden aangeroepen via de procedure van het dialoogvenster. Nadat het dialoogvenster is vernietigd, gebruikt Windows de waarde van nRetCode als de retourwaarde waarvoor DoModalhet dialoogvenster is gemaakt.

Opmerking

Roep niet EndDialog aan om een modusloos dialoogvenster te vernietigen. Roep In plaats daarvan DestroyWindow aan.

CAxDialogImpl::GetDialogProc

Roep deze methode aan om een aanwijzer op te halen naar de DialogProc callback-functie.

virtual DLGPROC GetDialogProc();

Retourwaarde

Retourneert een aanwijzer naar de DialogProc callback-functie.

Opmerkingen

De DialogProc functie is een door de toepassing gedefinieerde callback-functie.

CAxDialogImpl::GetIDD

Roep deze methode aan om de resource-id van de dialoogvenstersjabloon op te halen.

int GetIDD();

Retourwaarde

Retourneert de resource-id van de dialoogvenstersjabloon.

CAxDialogimpl::IsDialogMessage

Roep deze methode aan om te bepalen of een bericht is bedoeld voor dit dialoogvenster en, als dit het is, het bericht verwerken.

BOOL IsDialogMessage(LPMSG pMsg);

Parameterwaarden


Wijs een MSG-structuur aan die het bericht bevat dat moet worden gecontroleerd.

Retourwaarde

Retourneert TRUE als het bericht is verwerkt, anders ONWAAR.

Opmerkingen

Deze methode is bedoeld om vanuit een berichtenlus aan te roepen.

CAxDialogImpl::m_bModal

Een variabele die alleen bestaat in builds voor foutopsporing en is ingesteld op true als het dialoogvenster modaal is.

bool m_bModal;

Zie ook

Klasse CDialogImpl
Overzicht van klassen