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 };
où 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
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;