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 :

[MFC] CDialog contre MessageBox


Sujet :

MFC

  1. #1
    Membre éclairé
    Inscrit en
    Février 2006
    Messages
    256
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 256
    Par défaut [MFC] CDialog contre MessageBox
    Je voudrais savoir comment faire pour rendre une CDialog aussi prioritaire qu'une MessageBox.
    => Une messageBox lorsqu'elle apparaît fait disparaitre les menus contextuels, je voudrais qu'un CDialog fasse la même chose.

    Merci d'avance.

  2. #2
    Expert confirmé
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 526
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 526
    Par défaut
    ?? Avec CDialog :: DoModal()

  3. #3
    Membre éclairé
    Inscrit en
    Février 2006
    Messages
    256
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 256
    Par défaut
    bah non....

    1 -> Clic gauche/droit dans une CView fait un apparaitre un menu
    contextuel.

    2 -> un timer arrive à expiration et fait ouvrir une CDialog avec DoModal ( ).
    le menu reste affiché en plein milieu et parfois même au dessus de la
    boite de dialogue.


  4. #4
    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
    Par défaut
    Essaye d'utiliser keybd_event pour envoyer un VK_ESCAPE pour fermer le menu.
    voir faq il y a plusieurs exemples d'utilisations:
    http://cpp.developpez.com/faq/vc/ind...t#CEditCtrlEnd

  5. #5
    Membre éclairé
    Inscrit en
    Février 2006
    Messages
    256
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 256
    Par défaut
    Salut,

    J'y ai déjà pensé mais c'est pas toujours "temps réel" et ça fonctionne qu'une fois sur 2.

    Il n'y a pas moyen de récupérer un ptr sur le menu juste ouvert ?

    Quand on fait :ostQuitMessage() , tout disparait, ça doit donc bien être enregistré quelque part ?

  6. #6
    Expert confirmé
    Avatar de Mat.M
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2006
    Messages
    8 526
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Novembre 2006
    Messages : 8 526
    Par défaut
    Essayer avec :: PumpMessage ou bien redéfinir PreTranslateMessage et appeler PeekMessage avec PM_REMOVE qui enlève les messages de la boucle de messages systèmes

  7. #7
    Membre chevronné Avatar de stephdim
    Profil pro
    Inscrit en
    Août 2007
    Messages
    462
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2007
    Messages : 462
    Par défaut
    Essaye un ReleaseCapture()

    ou sinon jette un oeil sur la fonction GetMenuBarInfo()
    tu pourras alors recuperer le handle de la fenetre créée pour le menu popup.
    apres un DestroyWindow(), ou WM_CANCELMODE ou un WM_EXITMENULOOP ... à essayer ...


    @+

  8. #8
    Membre éclairé
    Inscrit en
    Février 2006
    Messages
    256
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 256
    Par défaut
    Merci

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

Discussions similaires

  1. [MFC]CDialog et CHTMLDialog?
    Par amedeous dans le forum MFC
    Réponses: 3
    Dernier message: 09/05/2006, 15h59
  2. MFC CDialog - lister tous les composants presents
    Par firejocker dans le forum MFC
    Réponses: 11
    Dernier message: 03/04/2006, 16h10
  3. Réponses: 8
    Dernier message: 31/03/2006, 11h17
  4. [MFC] CDialog + Icone Systray + Menu
    Par Invité dans le forum MFC
    Réponses: 12
    Dernier message: 26/01/2006, 11h11
  5. [MFC][CDialog] interception du focus
    Par r0d dans le forum MFC
    Réponses: 5
    Dernier message: 14/01/2005, 16h00

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