Simuler appui sur X (croix en haut à droite) ET Question sur Dialog
mahojul
Messages postés27Date d'inscriptionlundi 26 janvier 2009StatutMembreDernière intervention 6 mars 2009
-
23 févr. 2009 à 14:45
uaip
Messages postés1466Date d'inscriptionmardi 20 février 2007StatutMembreDernière intervention 7 février 2011
-
24 févr. 2009 à 12:56
Bonjour,
Je développe en VC++ 6.0 sur un pc avec WinXP Pro SP3 et je suis un peu embêté ... (pour information, je suis à 100% débutant)
Question 1 :
Peut-on simuler le clic sur la croix en haut à droite d'un dialog sur un bouton ?
Actuellement, j'ai créer un Dialog qui contient 3 boutons.
Bouton 1 : Ouvre un autre dialog
Bouton 2 : Fait une mise à jour du Dialog
Bouton 3 : Non utilisé pour le moment)
Lorsque je clic sur le bouton 1, cela m'ouvre un second Dialog et sur ce Dialog, il y a 1 champ texte (label), 1 bouton (qui devrait fermer le dialog comme si on cliquer sur la petite croix en haut à droite du dialog) et 1 timer qui s'exécute dès l'ouverture d'un formulaire. Mon actuel soucis est le suivante :
1) Lorsque je clic sur la petite croix en haut à droite, le Dialog se ferme bien et je reviens sur mon premier Dialog
2) Lorsque je clic sur mon bouton, le Dialog se ferme et je reviens sur mon premier Dialog mais je ne peux plus rien faire, même pas fermer le Dialog 1. On dirait que tout se bloque.
Voici le code que j'ai mis sur le bouton pour fermer le dialog 2 :
void TTest::OnBtnStopTimer()
{
DestroyWindow();
}
Voici ce qui se passe lorsque l'on passe dans "On Destroy()" :
Lorsque je tente de débugger mon code pas à pas, lorsque je clic sur la croix en haut à droite de mon dialog 2 j'arrive bien dans la procédure
void TTest::OnDestroy() et lorsque je clic sur mon bouton, j'y arrive également mais après mon dialog 1 se bloque ... et je ne comprends pas pourquoi ... Si vous avez des idées, elles seront les bienvenues.
Question 2 :
Peut-on mettre un dialog (avec Timer) dans un dialog (comme par exemple on metterait un sous-formulaire dans un formulaire) . J'entends par la que, me trouvant sur un dialoque, je clic sur un bouton qui va faire apparaitre un seconde dialog dans la dialog 1. (Comme pour un formulaire possédant un sous-formulaire par exemple).
?
ed73
Messages postés276Date d'inscriptionlundi 8 septembre 2008StatutMembreDernière intervention15 avril 20132 23 févr. 2009 à 15:03
Bonjour,
Reponse 1 :
void TTest::OnBtnStopTimer()
{ EndDialog(FALSE); // FALSE Annuler, TRUE OK
}
Reponse 1 :
Non, on ne peut pas mettre 1 Dialog dans un autre, il va falloir que tu trouves une autre solution. Peut, être cacher une partie de ton dialog et la faire apparaitre quand tu cliques sur un bouton.
uaip
Messages postés1466Date d'inscriptionmardi 20 février 2007StatutMembreDernière intervention 7 février 2011 24 févr. 2009 à 12:56
Pour la question 2, on peut inclure un dialog dans un autre (du moins en C et C++, alors pourquoi pas en .NET), soit sous la forme MDI, soit en créant la fenêtre de façon à ce qu'elle soit fille de la deuxième.
Désolé, je ne peux pas t'aider plus, je ne connais pas la syntaxe du .NET.