begin process at 2012 05 29 15:28:50
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C++ & C++ .NET

 > 

Windows

 > 

MFC

 > 

Personailer les boites de dialogue


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

Personailer les boites de dialogue

mardi 24 juillet 2007 à 14:33:35 | Personailer les boites de dialogue

zanrek

    Bonjour,
 je souhaiterais créer une boite de dialogue, mais lors de l'initialisation de celle-ci, je voudrais être capable de modifier la couleur et la taille de la police, ainsi que la couleur de fond de la fenêtre, celle des boutons etc....

Pour la couleur de fond, j'ai essayé avec SetBkColor (this, RGB (50,100,50)); dans OnInitDialog; mais Visual studio me dit

"imposssible de convertir le paramètre 1 de CVisualidmDlg * const en HDC"

N'y aurait-il pas un moyen de faire celà plus simplement en passant dans les propriétés de l'objet? (et sinon où dois-je implanter le code?)

Merci
mercredi 25 juillet 2007 à 10:33:48 | Re : Personaliser les boites de dialogue

zanrek

J'ai du nouveau dans mon problème...

selon msdn, SetDialogBkColor est obsolète, et ils n'en disent pas plus...

Ils demandent de passer par un message: WM_CTLCOLOR. Ceci dit, je ne suis pas du tout à l'aisse avec la manipulation des messages de windows... j'ai bien trouvé un tutoriel dans un bouquin, mais celui-ci passe parle class wizard de Visual C++. Et comme par magie, bah moi je suis sous Visual studio 2005... donc sans class wizard.

Y aurait-il quelqu'un qui pourrait m'aider, parceque là franchement, je ne sais plus trop ou chercher... entre msdn online qui donne 3 méthodes différentes que je n'arrive pas a faire marcher, et MSDN local qui me donne d'autres infos, çà me mélange tout...

Donc quelqu'un aurait-il un exemple de code utilisant ces fameux messages (si possible avc un WM_CTLCOLOR) histoire que je puisse par la suite essayer de l'adapter à mon cahier des charges, à savoir obtenir des textes de couleur (vert rouge et jaune) le tout sur un fond noir.

Merci
mercredi 25 juillet 2007 à 19:14:55 | Re : Personailer les boites de dialogue

dletozeun

Salut,

Une facon simple de creer des boites de dialogue et meme plus c'est GTK... C'est completement a coté de ton probleme mais en plus c'est portable et pas prise de tete.
mercredi 25 juillet 2007 à 19:51:29 | Re : Personailer les boites de dialogue

zanrek

Bah oui mais j'ai un caheir des charges à suivre à la lettre :-s

Pas moyen de faire autrement
mercredi 25 juillet 2007 à 20:59:45 | Re : Personailer les boites de dialogue

juju12

Déjà WM_CTLCOLOR est obsolète aussi (version 16 bits de Windows), apparemment faut utiliser WM_CTLCOLORDLG plutôt...
mercredi 25 juillet 2007 à 21:11:28 | Re : Personailer les boites de dialogue

dletozeun

ah ok je vois.... bah bon courage! Parce que la ce style de programmation je connais pas du tt
mercredi 25 juillet 2007 à 21:23:21 | Re : Personailer les boites de dialogue

juju12

Bon pour changer la couleur de fond :

dans l'initialisation de la boîte de dialogue tu crées un BRUSH de la couleur souhaitée (et tu le stockes quelque part)...
HBRUSH hbr_BackGround=CreateSolidVrush(RGB(...));

...que tu détruiras quand le dialogue se terminera.

ensuite dans la boucle de messages :
case WM_CTLCOLORDLG: return (INT_PTR)hbr_BackGround;

(j'espère que ca marche j'ai pas testé)

pour les textes je sais pas trop mais apparemment c'est pas très différent
mercredi 25 juillet 2007 à 21:28:53 | Re : Personailer les boites de dialogue

juju12

Pardon c'était pas boucle de message mais DialogProc

Finalement pour le texte, il s'agit du message WM_CTLCOLORSTATIC.

case WM_CTLCOLORSTATIC:
SetTextColor((HDC)wParam,RGB(...));
return hbr_BackGround; // ou tout autre BRUSH

mercredi 25 juillet 2007 à 22:08:50 | Re : Personailer les boites de dialogue

zanrek

OK je testerais tou celà au bureau, merci déjà pour les réponses! çà me donne une piste un peu plus précise.

Cependant, qu'est-ce que le "DialogProc"? C'est la première fois que j'en entends parler...
jeudi 26 juillet 2007 à 10:22:41 | Re : Personailer les boites de dialogue

zanrek

La boucle de messages, ce n'est pas ce fameux

//{{AFX_MSG_MAP

//}}AFX_MSG_MAP


Enfin les ON_WM_... qui y sont a l'intérieur?

1 2

Cette discussion est classée dans : couleur, fond, boites, dialogue, personailer


Répondre à ce message

Sujets en rapport avec ce message

couleur de fond boite de dialogue [ par dambeaufort ] Bonjour, Pourriez vous m'indiquer une méthode afin de changer la couleur de fond d'une boite de dialog. Je travaille en MFC sous visual C++.Si vous po Affichage d'une image de fond dans une boite de dialogue [ par Calimero150 ] Coucou tout le monde!Je cherche un moyen d'afficher une image de fond dans une boite de dialogue donc si quelqu'un peut m'aider, qu'il n'hésite pas! M Couleur de fond d'une console. [ par Lavieillefolle ] Voilà comme le titre l'indique, je désirerais mettre un couleur de fond à ma console, et non seulement au texte entree. Un phenomene que j'ai pu objer couleur de fond d'une fenetre en WIN32 (VisualC++) [ par glipper ] Bonjour,Je cherche à changer la couleur d'arriere fond d'une fenetre en Win32. Il est en effet possible de faire ça dans la classe de creation de la f Couleur de fond... [ par DeAtHCrAsH ] Comment faire pour modifier la couleur de fond d'un dialog ?--=[SheLL]=-- Modifier la couleur de fond d'une barre de statut [ par erwanr1 ] Bonjour, je souhaite modifier le background d'une zone de ma barre de statut.j'essaie avec SB_SETBKCOLOR mais cela ne fonctionne pasMerci de votre a couleur boite de dialogue [ par ancat ] Bonjour,j'ai fait un petit programme en win32 mais je trouve mes boites de dialogue un peu fade....Comment puis-je changer la couleur de la boite.?Je Couleur des objets [ par Mastersam ] Bonjour,Voilà j'ai créé une fenêtre et je mets des boutons (ceux d'xp arrondis) et des textes. Mais je n'ai pas la même couleur sur le fond de la fenê Couleur de fond (DEV-C++) [ par Jcedric42 ] Salut tous,J'aimerez avoir comment il faut faire pour metre une couleur d'arriere plan en sortie MS-DOS,avec Dev-C++ .Merci D'avance couleur de fond CListCtrl [ par julok2 ] Bonjour,est-il possible de définir dans une CListCtrl ( j'utilise VC++6.0 et les MFC) une couleur de fond différente pour chaque case?Merci bien


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 : 6,256 sec (3)

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