Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of mappen te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen om mappen te wijzigen.
Opmerking
De ATL (Active Template Library) wordt nog steeds ondersteund. We voegen echter geen functies meer toe of werken de documentatie bij.
Deze klasse biedt methoden voor het maken van een modaal of modusloos dialoogvenster.
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 CDialogImpl : public CDialogImplBaseT<TBase>
Parameterwaarden
T
Uw klas, afgeleid van CDialogImpl.
TBase
De basisklasse van uw nieuwe klasse. De standaardbasisklasse is CWindow.
Leden
Methods
| Functie | Description |
|---|---|
| Creëren | Hiermee maakt u een modusloos dialoogvenster. |
| DestroyWindow | Vernietigt een modusloos dialoogvenster. |
| DoModal | Hiermee maakt u een modaal dialoogvenster. |
| EndDialog | Vernietigt een modaal dialoogvenster. |
CDialogImplBaseT-methoden
| Functie | Description |
|---|---|
| GetDialogProc | Retourneert de huidige dialoogvensterprocedure. |
| MapDialogRect | Hiermee worden de dialoogvenstereenheden van de opgegeven rechthoek toegewezen aan schermeenheden (pixels). |
| OnFinalMessage | Aangeroepen na ontvangst van het laatste bericht, meestal WM_NCDESTROY. |
Statische functies
| Functie | Description |
|---|---|
| DialogProc | Hiermee worden berichten verwerkt die naar het dialoogvenster worden verzonden. |
| StartDialogProc | Wordt aangeroepen wanneer het eerste bericht wordt ontvangen om berichten te verwerken die naar het dialoogvenster worden verzonden. |
Opmerkingen
Hiermee CDialogImpl kunt u een modaal of modusloos dialoogvenster maken.
CDialogImpl bevat de procedure in het dialoogvenster, die gebruikmaakt van de standaardberichttoewijzing om berichten naar de juiste handlers te sturen.
De basisklassedestructor ~CWindowImplRoot zorgt ervoor dat het venster is verdwenen voordat het object wordt vernietigd.
CDialogImpl afgeleid van CDialogImplBaseT, die op zijn beurt afgeleid is van CWindowImplRoot.
Opmerking
Uw klasse moet een IDD lid definiëren dat de resource-id van de dialoogvenstersjabloon opgeeft. De wizard ATL-project voegt bijvoorbeeld automatisch de volgende regel toe aan uw klasse:
enum { IDD = IDD_MYDLG };
waar MyDlg is de korte naam die is ingevoerd op de pagina Namen van de wizard.
| Voor meer informatie over | Zien! |
|---|---|
| Besturingselementen maken | ATL-zelfstudie |
| Dialoogvensters gebruiken in ATL | ATL-vensterklassen |
| Wizard ATL-project | Een ATL-project maken |
| Dialoogvensters | Dialoogvensters en volgende onderwerpen in de Windows SDK |
Requirements
Koptekst: atlwin.h
CDialogImpl::Create
Hiermee maakt u een modusloos dialoogvenster.
HWND Create(
HWND hWndParent,
LPARAM dwInitParam = NULL );
HWND Create(
HWND hWndParent,
RECT&,
LPARAM dwInitParam = NULL);
Parameterwaarden
hWndParent
[in] De ingang naar het eigenaarvenster.
RECT&rect [in] Een RECT-structuur die de grootte en positie van het dialoogvenster aangeeft.
dwInitParam
[in] Hiermee geeft u de waarde die moet worden doorgegeven aan het dialoogvenster in de parameter lParam van het WM_INITDIALOG bericht.
Retourwaarde
De ingang naar het zojuist gemaakte dialoogvenster.
Opmerkingen
Dit dialoogvenster wordt automatisch aan het CDialogImpl object gekoppeld. Als u een modaal dialoogvenster wilt maken, roept u DoModal aan. De tweede onderdrukking hierboven wordt alleen gebruikt met CComControl.
CDialogImpl::D estroyWindow
Vernietigt een modusloos dialoogvenster.
BOOL DestroyWindow();
Retourwaarde
WAAR als het dialoogvenster is vernietigd; anders ONWAAR.
Opmerkingen
Retourneert TRUE als het dialoogvenster is vernietigd; anders ONWAAR.
CDialogImpl::D ialogProc
Met deze statische functie wordt de dialoogvensterprocedure geïmplementeerd.
static LRESULT CALLBACK DialogProc(
HWND hWnd,
UINT uMsg,
WPARAM wParam,
LPARAM lParam);
Parameterwaarden
hWnd
[in] De greep naar het dialoogvenster.
uMsg
[in] Het bericht dat naar het dialoogvenster wordt verzonden.
wParam
[in] Aanvullende berichtspecifieke informatie.
lParam
[in] Aanvullende berichtspecifieke informatie.
Retourwaarde
WAAR als het bericht wordt verwerkt; anders, ONWAAR.
Opmerkingen
DialogProc gebruikt de standaardberichttoewijzing om berichten naar de juiste handlers te sturen.
U kunt overschrijven DialogProc om een ander mechanisme te bieden voor het verwerken van berichten.
CDialogImpl::D oModal
Hiermee maakt u een modaal dialoogvenster.
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, wordt de waarde van de parameter nRetCode opgegeven in de aanroep naar EndDialog. Anders, -1.
Opmerkingen
Dit dialoogvenster wordt automatisch aan het CDialogImpl object gekoppeld.
Als u een modusloos dialoogvenster wilt maken, roept u Maken aan.
CDialogImpl::EndDialog
Vernietigt een modaal dialoogvenster.
BOOL EndDialog(int nRetCode);
Parameterwaarden
nRetCode
[in] De waarde die moet worden geretourneerd door CDialogImpl::D oModal.
Retourwaarde
WAAR als het dialoogvenster wordt vernietigd; anders, ONWAAR.
Opmerkingen
EndDialog moet worden aangeroepen via de dialoogvensterprocedure. 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 CWindow::D estroyWindow aan.
CDialogImpl::GetDialogProc
Retourneert DialogProc, de huidige dialoogvensterprocedure.
virtual WNDPROC GetDialogProc();
Retourwaarde
De huidige dialoogvensterprocedure.
Opmerkingen
Overschrijf deze methode om de dialoogvensterprocedure te vervangen door uw eigen procedure.
CDialogImpl::MapDialogRect
Hiermee worden de dialoogvenstereenheden van de opgegeven rechthoek geconverteerd naar schermeenheden (pixels).
BOOL MapDialogRect(LPRECT lpRect);
Parameterwaarden
lpRect
Verwijst naar een CRect object- of RECT-structuur die de clientcoördinaten van de update ontvangt die de updateregio omsluit.
Retourwaarde
Niet-nul als de update slaagt; 0 als de update mislukt. Als u uitgebreide foutinformatie wilt ophalen, roept u het aan GetLastError.
Opmerkingen
De functie vervangt de coördinaten in de opgegeven RECT structuur door de geconverteerde coördinaten, waardoor de structuur kan worden gebruikt om een dialoogvenster te maken of een besturingselement in een dialoogvenster te plaatsen.
CDialogimpl::OnFinalMessage
Aangeroepen na ontvangst van het laatste bericht (meestal WM_NCDESTROY).
virtual void OnFinalMessage(HWND hWnd);
Parameterwaarden
hWnd
[in] Een handgreep naar het raam dat wordt vernietigd.
Opmerkingen
Als u uw object automatisch wilt verwijderen bij de vernietiging van het venster, kunt u dit aanroepen .
CDialogImpl::StartDialogProc
Wordt slechts eenmaal aangeroepen, wanneer het eerste bericht wordt ontvangen, om berichten te verwerken die naar het dialoogvenster worden verzonden.
static LRESULT CALLBACK StartDialogProc(
HWND hWnd,
UINT uMsg,
WPARAM wParam,
LPARAM lParam);
Parameterwaarden
hWnd
[in] De greep naar het dialoogvenster.
uMsg
[in] Het bericht dat naar het dialoogvenster wordt verzonden.
wParam
[in] Aanvullende berichtspecifieke informatie.
lParam
[in] Aanvullende berichtspecifieke informatie.
Retourwaarde
De vensterprocedure.
Opmerkingen
Na de eerste aanroep naar StartDialogProc, DialogProc wordt ingesteld als een dialoogvensterprocedure en gaan er verdere aanroepen naartoe.