IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MFC Discussion :

Valider une boite de dialogue sans appuyer sur le bouton "OK"?


Sujet :

MFC

  1. #1
    Débutant
    Inscrit en
    Avril 2009
    Messages
    133
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 133
    Points : 50
    Points
    50
    Par défaut Valider une boite de dialogue sans appuyer sur le bouton "OK"?
    Dans mon projet j'ai une boite de dialog de configuration. Dans mon programme j'ai mis les valeurs par défaut et j'aimerais pouvoir exécuter au premier lancement de mon application ces applications par défaut. Pour cela il me suffit juste de cliquer sur le bouton "OK de ma fenêtre de configuration.

    J'aimerais savoir s'il est possible de valider une boite de dialog sans appuyer sur le bouton "OK"?

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 153
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 153
    Points : 12 261
    Points
    12 261
    Par défaut
    Erreur de conception.
    MFC, c'est un model Document/Vue.
    La boîte de Dialogue est une Vue et ne doit pas contenir d'information.
    Votre Document doit changer les données par défaut et votre Vue doit demander les modifications au Document.

  3. #3
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Points : 17 323
    Points
    17 323
    Par défaut
    pour valider une boite de dialogue sans OK ,il suffit d'appeler la méthode EndDialog(IDOK).

  4. #4
    Débutant
    Inscrit en
    Avril 2009
    Messages
    133
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 133
    Points : 50
    Points
    50
    Par défaut
    Ok mais je le met où le EndDialog(IDOK) dans la fonction d'initialisation?

  5. #5
    Expert éminent sénior
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 153
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 153
    Points : 12 261
    Points
    12 261
    Par défaut
    farscape, tu ne lui rend pas service.

  6. #6
    Membre éclairé
    Avatar de PetitPapaNoël
    Développeur informatique
    Inscrit en
    Septembre 2006
    Messages
    559
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 559
    Points : 749
    Points
    749
    Par défaut
    Bonjour à tous,

    Bacelar : je t'assure qu'on peut utiliser les MFC et un modèle MVC sans utiliser les documents des vues. C'est ce que je fais. Pour moi, le document ne sert presque à rien. Mes objets métier sont tous utilisés directement dans mes vues ou mes boîtes de dialogue.
    Et puis il n'y a pas de document associé aux boîtes de dialogue...

    wolverine1987 et farscape : on peut aussi appeler directement la méthode OnOK(), ce qui revient au même que EndDialog(IDOK). Non ?

  7. #7
    Débutant
    Inscrit en
    Avril 2009
    Messages
    133
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 133
    Points : 50
    Points
    50
    Par défaut
    Je te remerci PetitPapaNoël.

    on peut aussi appeler directement la méthode OnOK(), ce qui revient au même que EndDialog(IDOK). Non ?
    Tu as raison cela revient au même!!!!

    Et pour répondre a ma question, oui je met cet appel fonction dans ma partie initialisation!!!!

    Par contre le EndDialog(IDOK) me génère des erreurs! pas lors de la compilation mais lors du lancement de mon appli!!!

    You are the PetitPapaNoël.

  8. #8
    Expert éminent sénior
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2005
    Messages
    5 153
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Conseil

    Informations forums :
    Inscription : Février 2005
    Messages : 5 153
    Points : 12 261
    Points
    12 261
    Par défaut
    Comme c'est à l'initialisation, il y a de bonne change que le EndDialogue check des valeurs de contrôles qui n'ont pas été encore créer dans le sous-système graphique de Windows.

    Je persiste, une initialisation n'a rien à voir avec le "contenu" d'une boîte de dialogue.

    Un Model MVC avec les objets métiers dans les Vues, c'est tous sauf du MVC.

    Utiliser un fichier de configuration et une routine de lecture de ce fichier de configuration pour initialisé vos objets métiers.

  9. #9
    Membre éclairé
    Avatar de PetitPapaNoël
    Développeur informatique
    Inscrit en
    Septembre 2006
    Messages
    559
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 559
    Points : 749
    Points
    749
    Par défaut
    Citation Envoyé par bacelar Voir le message
    Un Model MVC avec les objets métiers dans les Vues, c'est tous sauf du MVC.
    Je ne vois pas pourquoi ce ne serait pas un MVC. Même si ça n'utilise pas le modèle document / vue des MFC, ça peut très bien être un MVC. Mes vues mettent à jour mes objets métier qui sont les contrôleurs et qui se chargent de la mise à jour de la base de données. Dans le modèle document vue, les vues mettent à jour les données des documents qui servent de contrôleurs et qui ensuite mettent à jour la base de données (ou dans l'autre sens).

  10. #10
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 379
    Points : 41 573
    Points
    41 573
    Par défaut
    Mais il y a une chose que j'ai du mal à comprendre: S'il y a un bouton OK et qu'on veut "valider" la boîte de dialogue, ça veut dire qu'il s'agit d'une boîte de dialogue modale et qu'on veut faire une action dès que la boîte de dialogue est fermée.

    Ne serait-il pas plus simple, au premier lancement, de ne pas afficher ladite boîte de dialogue du tout?

  11. #11
    Débutant
    Inscrit en
    Avril 2009
    Messages
    133
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 133
    Points : 50
    Points
    50
    Par défaut
    Ne serait-il pas plus simple, au premier lancement, de ne pas afficher ladite boîte de dialogue du tout?
    Non car ladite boite de dialog est une boite de configuration pour ensuite afficher dans une autre boite de dialog les informations qui nous intéresse!!!

  12. #12
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 379
    Points : 41 573
    Points
    41 573
    Par défaut
    Ben... Justement, non?
    Si c'est pour cliquer "OK" dès qu'elle s'affiche...

  13. #13
    Débutant
    Inscrit en
    Avril 2009
    Messages
    133
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 133
    Points : 50
    Points
    50
    Par défaut
    Oui c'est vrai mais au lancement du programme on ne voit même pas cette boîte tellement ca va vite!!! donc pourquoi s'embêter a ne pas l'afficher au début alors que cela fonctionne avec OnOk();. de plus lorsque que je fais appel a cette fonction celle-ci Update les données donc je ne peut pas l'enlever!!!

  14. #14
    Expert éminent sénior
    Avatar de Médinoc
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 379
    Points : 41 573
    Points
    41 573
    Par défaut
    Mais pour une BDD modale, le traitement ne devrait pas se faire dans le OnOK() : Il devrait se faire dans le code qui a affiché la boîte, après le DoModal() !

  15. #15
    Membre éclairé
    Avatar de PetitPapaNoël
    Développeur informatique
    Inscrit en
    Septembre 2006
    Messages
    559
    Détails du profil
    Informations personnelles :
    Âge : 48

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2006
    Messages : 559
    Points : 749
    Points
    749
    Par défaut
    Je suis d'accord avec bacelar et Médinoc : le fonctionnement de cette boîte de dialogue semble bizarre. Ça sent le problème de conception...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. afficher une liste box apres avoir appuyé sur un bouton
    Par maissaab dans le forum wxPython
    Réponses: 1
    Dernier message: 16/03/2011, 10h40
  2. [VBA-E]nombre qui influe sur une boite de dialogue
    Par vovor dans le forum Macros et VBA Excel
    Réponses: 23
    Dernier message: 31/05/2006, 14h01
  3. Erreur sur une boite de dialogue WXWIDGETS
    Par barbarello dans le forum Autres éditeurs
    Réponses: 6
    Dernier message: 06/01/2006, 20h46
  4. Réponses: 9
    Dernier message: 10/11/2005, 23h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo