Partager via


CAxDialogImpl, classe

Cette classe implémente une boîte de dialogue (modale ou sans mode) qui héberge les contrôles ActiveX.

Important

Cette classe et ses membres ne peuvent pas être utilisés dans les applications qui s’exécutent dans Windows Runtime.

Syntaxe

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

Paramètres

T
Votre classe, dérivée de CAxDialogImpl.

TBase
Classe de fenêtre de base pour CDialogImplBaseT.

Membres

Méthodes publiques

Nom Description
CAxDialogImpl ::AdviseSinkMap Appelez cette méthode pour conseiller ou annuler l’affichage de toutes les entrées dans la carte d’événements du mappage récepteur de l’objet.
CAxDialogImpl ::Create Appelez cette méthode pour créer une boîte de dialogue sans mode.
CAxDialogImpl ::D estroyWindow Appelez cette méthode pour détruire une boîte de dialogue sans mode.
CAxDialogImpl ::D oModal Appelez cette méthode pour créer une boîte de dialogue modale.
CAxDialogImpl ::EndDialog Appelez cette méthode pour détruire une boîte de dialogue modale.
CAxDialogImpl ::GetDialogProc Appelez cette méthode pour obtenir un pointeur vers la DialogProc fonction de rappel.
CAxDialogImpl ::GetIDD Appelez cette méthode pour obtenir l’ID de ressource du modèle de boîte de dialogue
CAxDialogImpl ::IsDialogMessage Appelez cette méthode pour déterminer si un message est destiné à cette boîte de dialogue et, le cas échéant, traitez le message.

Membres de données protégés

Nom Description
CAxDialogImpl ::m_bModal Variable qui existe uniquement dans les builds de débogage et est définie sur true si la boîte de dialogue est modale.

Notes

CAxDialogImpl vous permet de créer une boîte de dialogue modale ou sans mode. CAxDialogImpl fournit la procédure de boîte de dialogue, qui utilise le mappage de messages par défaut pour diriger les messages vers les gestionnaires appropriés.

CAxDialogImpl dérive de CDialogImplBaseT, qui dérive à son tour de TBase (par défaut, CWindow) et CMessageMap.

Votre classe doit définir un membre IDD qui spécifie l’ID de ressource du modèle de boîte de dialogue. Par exemple, l’ajout d’un objet de boîte de dialogue ATL à l’aide de la boîte de dialogue Ajouter une classe ajoute automatiquement la ligne suivante à votre classe :

enum { IDD = IDD_MYDLG };

MyDialog est le nom court entré dans l’Assistant Boîte de dialogue ATL.

Pour plus d’informations, voir Implémentation d’une boîte de dialogue.

Notez qu’un contrôle ActiveX sur une boîte de dialogue modale créée avec CAxDialogImpl ne prend pas en charge les touches d’accélérateur. Pour prendre en charge les touches d’accélérateur sur une boîte de dialogue créée avec CAxDialogImpl, créez une boîte de dialogue sans mode et, à l’aide de votre propre boucle de message, utilisez CAxDialogImpl ::IsDialogMessage après avoir obtenu un message de la file d’attente pour gérer une touche d’accélérateur.

Pour plus d’informations sur CAxDialogImpl, consultez le FAQ sur le contrôle ATL Control Containment.

Hiérarchie d'héritage

CMessageMap

TBase

CWindowImplRoot

CDialogImplBaseT

CAxDialogImpl

Spécifications

En-tête : atlwin.h

CAxDialogImpl ::AdviseSinkMap

Appelez cette méthode pour conseiller ou annuler l’affichage de toutes les entrées dans la carte d’événements du mappage récepteur de l’objet.

HRESULT AdviseSinkMap(bool bAdvise);

Paramètres

bAdvise
Défini sur true si toutes les entrées du récepteur doivent être conseillées ; false si toutes les entrées du récepteur doivent être non supervisées.

Valeur de retour

Retourne S_OK en cas de réussite ou une erreur HRESULT en cas d’échec.

CAxDialogImpl ::Create

Appelez cette méthode pour créer une boîte de dialogue sans mode.

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

Paramètres

hWndParent
[in] Handle de la fenêtre propriétaire.

dwInitParam
[in] Spécifie la valeur à passer à la boîte de dialogue dans le paramètre lParam du message WM_INITDIALOG.

RECT>
Ce paramètre n'est pas utilisé. Ce paramètre est transmis par CComControl.

Valeur de retour

Handle de la boîte de dialogue nouvellement créée.

Notes

Cette boîte de dialogue est automatiquement attachée à l’objet CAxDialogImpl . Pour créer une boîte de dialogue modale, appelez DoModal.

Le deuxième remplacement est fourni uniquement afin que les boîtes de dialogue puissent être utilisées avec CComControl.

CAxDialogImpl ::D estroyWindow

Appelez cette méthode pour détruire une boîte de dialogue sans mode.

BOOL DestroyWindow();

Valeur de retour

TRUE si la fenêtre est correctement détruite ; sinon FALSE.

Notes

N’appelez DestroyWindow pas pour détruire une boîte de dialogue modale. Appelez EndDialog à la place.

CAxDialogImpl ::D oModal

Appelez cette méthode pour créer une boîte de dialogue modale.

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

Paramètres

hWndParent
[in] Handle de la fenêtre propriétaire. La valeur par défaut est la valeur de retour de la fonction Win32 GetActiveWindow .

dwInitParam
[in] Spécifie la valeur à passer à la boîte de dialogue dans le paramètre lParam du message WM_INITDIALOG.

Valeur de retour

Si elle réussit, la valeur du paramètre nRetCode spécifié dans l’appel à EndDialog ; sinon, -1.

Notes

Cette boîte de dialogue est automatiquement attachée à l’objet CAxDialogImpl .

Pour créer une boîte de dialogue sans mode, appelez Create.

CAxDialogImpl ::EndDialog

Appelez cette méthode pour détruire une boîte de dialogue modale.

BOOL EndDialog(int nRetCode);

Paramètres

nRetCode
[in] Valeur à renvoyer par DoModal.

Valeur de retour

TRUE si la boîte de dialogue est détruite ; sinon, FALSE.

Notes

EndDialog doit être appelé par le biais de la procédure de boîte de dialogue. Une fois la boîte de dialogue détruite, Windows utilise la valeur de nRetCode comme valeur de retour pour DoModal, qui a créé la boîte de dialogue.

Remarque

N’appelez EndDialog pas pour détruire une boîte de dialogue sans mode. Appelez DestroyWindow à la place.

CAxDialogImpl ::GetDialogProc

Appelez cette méthode pour obtenir un pointeur vers la DialogProc fonction de rappel.

virtual DLGPROC GetDialogProc();

Valeur de retour

Retourne un pointeur vers la DialogProc fonction de rappel.

Notes

La DialogProc fonction est une fonction de rappel définie par l’application.

CAxDialogImpl ::GetIDD

Appelez cette méthode pour obtenir l’ID de ressource du modèle de boîte de dialogue.

int GetIDD();

Valeur de retour

Retourne l’ID de ressource du modèle de boîte de dialogue.

CAxDialogImpl ::IsDialogMessage

Appelez cette méthode pour déterminer si un message est destiné à cette boîte de dialogue et, le cas échéant, traitez le message.

BOOL IsDialogMessage(LPMSG pMsg);

Paramètres

pMsg
Pointeur vers une structure MSG qui contient le message à vérifier.

Valeur de retour

Retourne TRUE si le message a été traité, FALSE sinon.

Notes

Cette méthode est destinée à être appelée à partir d’une boucle de message.

CAxDialogImpl ::m_bModal

Variable qui existe uniquement dans les builds de débogage et est définie sur true si la boîte de dialogue est modale.

bool m_bModal;

Voir aussi

CDialogImpl, classe
Vue d’ensemble de la classe