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 :

[D�butant] Rendre un �cran modal en non modal


Sujet :

MFC

  1. #1
    Membre confirm�
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    105
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 105
    Par d�faut [D�butant] Rendre un �cran modal en non modal
    Bonjour � tous;
    J'ai une fen�tre qui d�rive de CDialog et je voudrais la rendre non modal, quelqu'un parmi vous, aurait une id�e comment c'est faisable.
    Merci � tous.

  2. #2
    Membre Expert
    Avatar de Ti-R
    Homme Profil pro
    Ing�nieur R&D
    Inscrit en
    Avril 2003
    Messages
    1 683
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 46
    Localisation : France, Hauts de Seine (�le de France)

    Informations professionnelles :
    Activit� : Ing�nieur R&D
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 683
    Par d�faut
    Utiliser la fonction "Create" ?

    Comme ici

  3. #3
    Membre confirm�
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    105
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 105
    Par d�faut
    Alors, l� je n'ai rien compris.
    Peut �tre, que j'ai mal compris, je ne vois par le rapport entre rendre une fen�tre modal en non modal.
    Merci

  4. #4
    Membre Expert
    Avatar de Ti-R
    Homme Profil pro
    Ing�nieur R&D
    Inscrit en
    Avril 2003
    Messages
    1 683
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 46
    Localisation : France, Hauts de Seine (�le de France)

    Informations professionnelles :
    Activit� : Ing�nieur R&D
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 683
    Par d�faut
    Tu souhaites une CDialog en mode non modal, donc modeless...

    Si c'est le cas, il faut utiliser la fonction � Create � � la place de � DoModal �.
    Mais j'ai peut �tre mal compris ton besoin.

    Si c'est le cas, tu peux expliciter ton besoin s'il te plait, j'essaierai de t'aider dans la mesure de mes possibilit�s.

  5. #5
    Membre chevronn�
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    464
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 464
    Par d�faut
    Ce n'est pas l'utilisation de la classe CDialog qui d�termine si la fen�tre sera modale ou pas, mais la m�thode de cr�ation utilis�e :

    - CDialog :: DoModal() => dialogue modal

    - CDialog :: Create() => dialogue non modal (modeless en Anglais)

    Reste peut-�tre encore � pr�ciser qu'il n'est pas possible de changer de mode en cours de route, une fois la fen�tre cr��e.

  6. #6
    Membre confirm�
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    105
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 105
    Par d�faut
    Merci pour les r�ponses.
    Juste une derni�re pr�cision, est ce qu'il faut changer seulement l'appel
    MaFenetre.DoModal par MaFenetre.Create();
    ou bien il faut modifier d'autres endroits dans le code?

    Encore une fois Merci.

  7. #7
    Membre chevronn�
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    464
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 464
    Par d�faut
    Citation Envoy� par Jahjouh
    Merci pour les r�ponses.
    Juste une derni�re pr�cision, est ce qu'il faut changer seulement l'appel
    MaFenetre.DoModal par MaFenetre.Create();
    ou bien il faut modifier d'autres endroits dans le code?
    Si tu as un EndDialog() quelque part dans ton code, il faut le remplacer par un DestroyWindow() d�s lors que la boite n'est plus modale.

    Il n'y a � priori rien d'autre � modifier (je ne tiens pas compte �videmment du changement de comportement de la boite dans l'appli du fait qu'elle devient non modale, et qui pourrait appeler d'autres modifs).

  8. #8
    Membre Expert
    Avatar de Ti-R
    Homme Profil pro
    Ing�nieur R&D
    Inscrit en
    Avril 2003
    Messages
    1 683
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 46
    Localisation : France, Hauts de Seine (�le de France)

    Informations professionnelles :
    Activit� : Ing�nieur R&D
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 683
    Par d�faut
    Faire un

    Je crois que par d�faut (� v�rifier) la dialog en mode non modal est cach�e.

  9. #9
    Expert �minent
    Avatar de M�dinoc
    Homme Profil pro
    D�veloppeur informatique
    Inscrit en
    Septembre 2005
    Messages
    27 397
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 41
    Localisation : France

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

    Informations forums :
    Inscription : Septembre 2005
    Messages : 27 397
    Par d�faut
    Pour �tre pr�cis, une bo�te de dialogue n'a pas par d�faut le style "Visible" dans l'�diteur de ressources (du moins, elle ne l'avait pas dans VC6) et c'est le DoModal() (ou la fonction DialogBox()) qui en force la visibilit�.

    Si on rajoute le style "Visible" � la bo�te de dialogue dans les ressources, le ShowWindow() ne sera pas n�cessaire.
    SVP, pas de questions techniques par MP. Surtout si je ne vous ai jamais parl� avant.

    "Aw, come on, who would be so stupid as to insert a cast to make an error go away without actually fixing the error?"
    Apparently everyone.
    -- Raymond Chen.
    Traduction obligatoire: "Oh, voyons, qui serait assez stupide pour mettre un cast pour faire disparaitre un message d'erreur sans vraiment corriger l'erreur?" - Apparemment, tout le monde. -- Raymond Chen.

  10. #10
    Membre Expert
    Avatar de Ti-R
    Homme Profil pro
    Ing�nieur R&D
    Inscrit en
    Avril 2003
    Messages
    1 683
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 46
    Localisation : France, Hauts de Seine (�le de France)

    Informations professionnelles :
    Activit� : Ing�nieur R&D
    Secteur : High Tech - �diteur de logiciels

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 683
    Par d�faut
    Merci de la pr�cision M�dinoc

  11. #11
    Membre confirm�
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    105
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 105
    Par d�faut [R�solu]
    Merci infiiniment � tous.
    Qu'il vive ce forum.
    Merci encore une fois.

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. [XL-MAC 2011] UserForm modale ou non modale
    Par jeanteynier dans le forum Excel
    R�ponses: 4
    Dernier message: 16/05/2014, 17h24
  2. [HTA sans fichier .hta] Dialogue mot de passe modal et non modal
    Par omen999 dans le forum Vos Contributions VBScript
    R�ponses: 5
    Dernier message: 11/02/2013, 02h05
  3. Rendre une pop up non-modale
    Par javamax dans le forum SWT/JFace
    R�ponses: 2
    Dernier message: 20/12/2007, 22h30
  4. [windev11]fenetre modale et non modale
    Par nath-0-0 dans le forum WinDev
    R�ponses: 6
    Dernier message: 18/05/2007, 20h44
  5. Rendre une fen�tre modale non modale
    Par Smortex dans le forum Composants VCL
    R�ponses: 2
    Dernier message: 30/03/2003, 17h56

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