différence entre les modaux et les boîtes de dialogue non modales dans les MFC
Pouvez-vous svp m'aider à acquérir une connaissance approfondie sur les différences entre les modaux et les boîtes de dialogue non modales par me présenter excellent tutoriel liens?
Par exemple, pouvez-vous m'expliquer sur les programmes qui sont liés ici? Sont-ils en modal et non modale?
À savoir, je pensais que la conception d'une boîte de dialogue en utilisant seulement des codes signifie non modale, mais la conception d'une boîte de dialogue à l'aide de Toolbox
signifie modal, mais autant que je le recherche, je reçois plus confus. Pouvez-vous m'aider à comprendre plus?
Pour des raisons de simplicité, un Modèle de boîte de dialogue s'occupent de l'application tout en haut de la Fenêtre de l'accent et vous ne pouvez pas passer à d'autres formes jusqu'à ce que ce Modèle de boîte de dialogue est Fermée. Non modale est semblable à une fenêtre flottante. La frontière que vous utilisez n'a pas d'importance du tout.
OriginalL'auteur Sepideh Abadppour | 2013-08-23
Vous devez vous connecter pour publier un commentaire.
La différence entre les modaux et les boîtes de dialogue non modales n'est pas limitée à la MFC.
Lorsqu'un modal dialogue est ouvert, vous ne pouvez pas interagir avec quoi que ce soit d'autre que cette boîte de dialogue modale à l'intérieur de votre programme, aussi longtemps que la boîte de dialogue modale est ouvert. La plupart des boîtes de dialogue sont modal, par exemple, le Fichier-Enregistrer les boîtes de dialogue sont modales.
D'autre part, une non modale dialogue se comporte comme une fenêtre normale, vous pouvez faire ce que vous voulez alors qu'il est ouvert. Le correcteur d'orthographe de dialogue dans Microsoft Word est un exemple d'un tel dialogue.
Le lien que vous mentiond dans votre question n'a rien à voir avec les modaux et les boîtes de dialogue non modales.
Des boîtes de dialogue modales sont triviales dans le MFC.
Boîtes de dialogue non modales sont un peu plus compliquées, mais vous pouvez trouver beaucoup de tutoriels en recherchant "mfc boîte de dialogue non modale tutoriel" sur google.
OriginalL'auteur Jabberwocky
Des boîtes de dialogue modales sont créés par l'invocation de la DoModal fonction de membre de votre classe dérivée de CDialog dans MFC ou à l'aide de la DialogBox la fonction de l'API.
Boîtes de dialogue non modales sont créés par l'invocation de la Créer() (ou
CreateIndirect
) membre fonction de votre classe dérivée de CDialog dans MFC ou à l'aide de la CreateDialog la fonction de l'API.Les liens ci-dessus aussi expliquer ce que vous devez faire pour soutenir les modaux et les boîtes de dialogue non modale, pour MFC, ce lien MSDN a plus d'information.
OriginalL'auteur Edward Clements
Modèle De Boite:
1. Modèle de boîte de dialogue, nous pouvons communiquer à guichet unique (qui est )le propriétaire de la fenêtre .Emballent on peut ouvrir la fenêtre enfant(sous la fenêtre) jusqu'à ce que nous sommes près de cette fenêtre, à ce moment, nous sommes à la communication sur la fenêtre parent
Ex: enregistrer, enregistrer sous
2.Création de modèle de Boite à appeler domodel( )
3.closeing temps, vous vous appeler fin de dialogue.cette Boite n'est pas de supprimer masquer
4.Dans le modèle de Boite il y a là, un enfant boucle de message
Modelless Boite:
1.lorsque l'on peut ouvrir une fenêtre (fenêtre propriétaire)en même temps, nous pouvons communiquer fenêtre enfant aussi.
Ex.Dans le bloc-notes de trouver ,word ,
2.modèle Boite de création est l'appel de Créer de la fenêtre()
Et ShowWindow()
3.si vous voulez fermer cette fenêtre d'appel de la fenêtre de destruction
Ici, la fenêtre est détruite
4.Ici massages Haendel fenêtre parent
OriginalL'auteur abdul
Boîte De Dialogue Modale:
Cdialog
constructeur, etDoModel
méthode deCDialog
et créé en de la pile.EndDialog()
fonction, il masque la boîte de dialogue.Boîte De Dialogue Non Modale:
Non modale créé par l'appel de
méthode. Et créés dans le Tas.
Destroy Window()
.OriginalL'auteur Sriram