Récupérer des données d'un objet Dialog
L’infrastructure permet d’initialiser facilement les valeurs des contrôles dans une boîte de dialogue et de récupérer des valeurs des contrôles. L’approche manuelle la plus laborieuse consiste à appeler des fonctions telles que les SetDlgItemText
GetDlgItemText
fonctions membres de classe CWnd
, qui s’appliquent aux fenêtres de contrôle. Avec ces fonctions, vous accédez individuellement à chaque contrôle pour définir ou obtenir sa valeur, en appelant des fonctions telles que SetWindowText
et GetWindowText
. L’approche du framework automatise à la fois l’initialisation et la récupération.
L’échange de données de boîte de dialogue (DDX) vous permet d’échanger des données entre les contrôles de la boîte de dialogue et les variables membres de l’objet de boîte de dialogue plus facilement. Cet échange fonctionne de deux façons. Pour initialiser les contrôles dans la boîte de dialogue, vous pouvez définir les valeurs des membres de données dans l’objet de boîte de dialogue, et l’infrastructure transfère les valeurs aux contrôles avant l’affichage de la boîte de dialogue. Vous pouvez ensuite mettre à jour à tout moment les membres de données de boîte de dialogue avec les données entrées par l’utilisateur. À ce stade, vous pouvez utiliser les données en faisant référence aux variables membres de données.
Vous pouvez également organiser la validation automatique des valeurs des contrôles de dialogue avec la validation des données de boîte de dialogue (VDD).
DDX et VDD sont expliqués plus en détail dans Dialog Data Exchange and Validation.
Pour une boîte de dialogue modale, vous pouvez récupérer toutes les données entrées par l’utilisateur quand il DoModal
retourne IDOK, mais avant la destruction de l’objet de boîte de dialogue. Pour une boîte de dialogue sans mode, vous pouvez récupérer des données à partir de l’objet de boîte de dialogue à tout moment en appelant UpdateData
avec l’argument TRUE , puis en accédant aux variables membres de la classe de boîte de dialogue. Ce sujet est abordé plus en détail dans la boîte de dialogue Échange de données et validation.