begin process at 2012 05 30 01:09:06
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Windows

 > 

GUI

 > 

Ouvrir une dialog box au démarrage


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Ouvrir une dialog box au démarrage

vendredi 5 décembre 2008 à 17:09:57 | Ouvrir une dialog box au démarrage

genetin

Bonjour,

Je voudrais qu'au démarrage de mon application, la fenêtre principale soit affichée, de même qu'une dialog box (qui serait active).

J'ai essayé deux choses :
1) Ouvrir la dialog box à la reception du WM_CREATE de la fenetre principale ... mais la fenêtre principale n'est alors pas encore affichée.
2) Faire un "PostMessage(hWnd,WM_COMMAND,OUVRIR_DIALOGBOX,0);" toujours à la reception du WM_CREATE, puis traiter la commande "OUVRIR_DIALOGBOX" ... dans ce cas la dialog box s'ouvre correctement au dessus de la fenêtre principale, mais la fenêtre active est alors la fenêtre principale au lieu de la dialog box.

Comment faire pour avoir la dialog box active par dessus la fenêtre principale ?

Merci de votre aide.


vendredi 5 décembre 2008 à 17:17:17 | Re : Ouvrir une dialog box au démarrage

fregolo52

Membre Club
Salut

J'ai l'impression que tu as fait le plus dur. Tu développes en Win32, je suppose (je connais très mal, je fais plutot des MFC).
Je ne connais pas tes contraintes, mais a-tu tenter de mettre ta dialogbox en modal, en théorie ça doit la rendre active.

Sinon qu'appelles-tu active ? Elle a le focus ? ou elle se trouve au 1er plan ? ou encore les 2 en meme temps ?
vendredi 5 décembre 2008 à 17:26:56 | Re : Ouvrir une dialog box au démarrage

genetin


Oui, ma dialogbox est bien en modal (j'utilise DialogBoxParam).
Ce que j'appelle "active" est que le cadre de la fenêtre soit de couleur plus vive, et qu'elle ait le focus du clavier.

vendredi 5 décembre 2008 à 17:54:32 | Re : Ouvrir une dialog box au démarrage

BruNews

Administrateur CodeS-SourceS
Réponse acceptée !
dans WM_CREATE:
- initialise ce qui convient.
- Fais un ShowWindow(...) pour forcer l'affichage.
- DialogBoxParam() maintenant.

ciao...
BruNews, MVP VC++
vendredi 5 décembre 2008 à 18:13:53 | Re : Ouvrir une dialog box au démarrage

genetin

Je viens d'essayer avec le ShowWindow(...) : les deux fenetres sont bien affichées, mais c'est la fenêtre principale qui est devant et qui est active, pas la dialogbox.

vendredi 5 décembre 2008 à 18:15:26 | Re : Ouvrir une dialog box au démarrage

BruNews

Administrateur CodeS-SourceS
y a un schmoll dans ton code.

ciao...
BruNews, MVP VC++
vendredi 5 décembre 2008 à 18:34:49 | Re : Ouvrir une dialog box au démarrage

genetin

En effet, il doit y avoir un schmoll.
Je n'avais pas précisé que j'intercepte aussi le message WM_PAINT pour afficher quelque chose dans la zone client de la fenêtre principale. Et je me rends compte (grâce au message de BruNews, merci) que le problème ne se pose pas si je supprime la gestion du WM_PAINT.

Le problème n'est donc pas résolu ... mais il n'est peut-être pas là où je croyais.

vendredi 5 décembre 2008 à 22:40:51 | Re : Ouvrir une dialog box au démarrage

racpp

Administrateur CodeS-SourceS
Salut,
Tu peux aussi essayer d'intercepter le message WM_WINDOWPOSCHANGED dans la procédure de ta fenêtre mère. lParam pointera sur une structure WINDOWPOS dont le membre flags indique si la fenêtre vient d'être affichée. Pour cela, on applique un AND binaire (&) à ce membre avec SWP_SHOWWINDOW. Si le résultat est Vrai alors la fenêtre vient d'être affichée. A ce moment, on peut lancer la boite de dialogue fille. Pour s'assurer que la boite ne s'affiche qu'après la création de la fenêtre mère, on peut utiliser un flag qui sera positionné au premier affichage.
samedi 6 décembre 2008 à 16:35:49 | Re : Ouvrir une dialog box au démarrage

genetin

J'ai finalement résolu le problème en empêchant que mon traitement du WM_PAINT ne modifie le focus : focus=GetFocus() en début de fonction, et SetFocus(focus) avant le return.

Merci à tous pour vos réponses qui m'ont été bien utiles.



Cette discussion est classée dans : ouvrir, box, dialog, fenêtre, principale


Répondre à ce message

Sujets en rapport avec ce message

Dialog box et doModal??? [ par machistador ] Bonjour, je cherche à faire une application en dialogue box, ds laquelle j'essaye d'ouvrir des fichiers (en les recherchant par getopenfilename) et la ouvrir une dialog box d'apres un sous menu [ par skouby ] bonjours, simple d'apparence pour moi c'est le case-tete   j,ai fais un MFC App simple document avec menu , maintenant je voudrais que lorsque je Probleme avec une dialog box modale [ par solidsnake88 ] Bonjour à tous. APrès une journée passé sur le problème je me résoud à vous en faire part. J'ai une Dialog Box (DB) que je rempli de b Taille TAB CONTROL [ par goutbouyo ] Salut,J'ai crée un TAB CONTROL et j'ai crée une dialog box pour chaque onglet du tab control.Maintenant j'aimerais ajuster la taille du dialog box pou Problème de fermeture de fenêtre principale [ par tigerskin ] Bonjour !!J'ai un problème avec un programme que j'ai réalisé : tout le déroulement de mon programme se passe bien mais lorsque je quitte ma fenêtre p Évènements du clavier [ par mast ] Bonsoir,J'essais d'écrire une petite appli qui détecte les évènements du clavier pour ouvrir des applications. Par exemple F2 ouvrirait firefox, F3 th Ouvrir un .raw dans une picture box ? [ par benlustr ] Bonjour à tous, je cherche à ouvrir un fichier .raw (image qui n'a pas d'entete) dans une picture box (ou autre chose d'ailleurs, peu importe du momen Dialog et fenètre [ par Dam254 ] Bonjour,Voila, j'ai 3 fenètres dont une principale.Dans cette fenetre principale, j'ai 2 fenetres.Dans la premiere, j'ai une application, type ActiveX fenêtre Child :O [ par by_rabbit_08 ] Bonjour!Est-il possible qu'une boite de dialogue déclarée dans un fichier *.rc, ait une procedure de fenêtre dans un fichier main?Si oui, comment? Je Tab control [ par Makaviel ] Bonjour,Je travaille sous EVC++( avec les MFC) et j'ai un petit problème.J'ai créé une dialog box, un tab control.Je voudrais lors de l'appui d'un ong


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,312 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales