Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Vous pouvez ajouter des contrôles à une boîte de dialogue avec l’éditeur de boîte de dialogue ou les ajouter vous-même, avec du code.
Pour créer vous-même un objet de contrôle, vous allez généralement incorporer l’objet de contrôle C++ dans un objet de boîte de dialogue C++ ou d’une fenêtre frame. Comme de nombreux autres objets de l’infrastructure, les contrôles nécessitent une construction en deux étapes. Vous devez appeler la fonction membre Create du contrôle dans le cadre de la création de la boîte de dialogue parent ou de la fenêtre frame. Pour les boîtes de dialogue, cela est généralement effectué dans OnInitDialog et pour les fenêtres frame, dans OnCreate.
L’exemple suivant montre comment déclarer un CEdit objet dans la déclaration de classe d’une classe de dialogue dérivée, puis appeler la Create fonction membre dans OnInitDialog. Étant donné que l’objet CEdit est déclaré en tant qu’objet incorporé, il est automatiquement construit lorsque l’objet de boîte de dialogue est construit, mais il doit toujours être initialisé avec sa propre Create fonction membre.
class CCustomDialog : public CDialog
{
CEdit m_edit;
virtual BOOL OnInitDialog();
};
La fonction suivante OnInitDialog configure un rectangle, puis appelle Create pour créer le contrôle d’édition Windows et l’attacher à l’objet non initialisé CEdit .
BOOL CCustomDialog::OnInitDialog()
{
CDialog::OnInitDialog();
CRect rect(85, 110, 180, 210);
m_edit.Create(WS_CHILD | WS_VISIBLE | WS_TABSTOP |
ES_AUTOHSCROLL | WS_BORDER,
rect, this, IDC_EXTRA_EDIT);
m_edit.SetFocus();
return FALSE;
}
Après avoir créé l'objet d'édition, vous pouvez également définir le focus d'entrée sur le contrôle en appelant la fonction membre SetFocus. Enfin, vous renvoyez 0 à partir de OnInitDialog pour indiquer que vous avez défini le focus. Si vous retournez une valeur différente de zéro, le gestionnaire de boîtes de dialogue définit le focus sur le premier élément de contrôle de la liste d’éléments de boîte de dialogue. Dans la plupart des cas, vous souhaiterez ajouter des contrôles à vos boîtes de dialogue avec l’éditeur de dialogue.
Voir aussi
Création et utilisation de contrôles
Contrôles
CDialog::OnInitDialog