Dialogu box capricieuse

julienbornet Messages postés 99 Date d'inscription jeudi 9 février 2006 Statut Membre Dernière intervention 2 février 2009 - 13 mars 2006 à 16:20
julienbornet Messages postés 99 Date d'inscription jeudi 9 février 2006 Statut Membre Dernière intervention 2 février 2009 - 14 mars 2006 à 20:49
Bonjour j'ai un probleme d'affichage dans une dialogu box. Ceci est ma dialogu box tel que je la dessine sous visual studio:

Et ceci est la dialogu box qui s'affiche lorsque j'appui sur le boutton about de mon API:

Voila si tu regarde bien l'icone s'affiche mais ce n'est pas le meme, et l'image s'affiche pas . Linage est une .bmp que j'ai enregistre dan mes resources tout comme l'icone est un .ico lui aussi enregistre dans mes ressource. La procedure utiliser pour la dialogu box est la suivante :


LRESULT CALLBACK Dialog(HWND hDlg,UINT message,WPARAM wParam,LPARAM lParam)


{

switch (message)
{

case WM_INITDIALOG:

return TRUE;


case WM_COMMAND:
if (LOWORD(wParam) IDOK || LOWORD(wParam) IDCANCEL)
{
EndDialog(hDlg, LOWORD(wParam));

return TRUE;
}

break;
}

return FALSE;
}

Voila j'espere avoir bien decrit mon probleme.

Merci de votre aide.

8 réponses

cs_Joky Messages postés 1787 Date d'inscription lundi 22 novembre 2004 Statut Membre Dernière intervention 31 janvier 2009 2
13 mars 2006 à 16:30
J'pense que ta Dialogu Box doit être malade.

Essai d'insérer un cachet d'aspirine dans ton port usb



Et sinon en sérieu, j'vois pas le problème, vu qu'il n'y a aucun code.

Montre nous au moins comment tu charges ton BitMap et ton icone...

if(!Meilleur("Joky")) return ERREUR;<
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
13 mars 2006 à 18:13
Je ne vois pas tes images mais un truc de ce genre dans WM_INITDIALOG:
SetClassLongPtr(hdlg, GCLP_HICON, (long)LoadIcon(hinst, MAKEINTRESOURCE(IDD_APP)));

ciao...
http://dev.winsysdev.com
BruNews, MVP VC++
0
julienbornet Messages postés 99 Date d'inscription jeudi 9 février 2006 Statut Membre Dernière intervention 2 février 2009
13 mars 2006 à 20:20
Pour repondre a Joky merci du conseil pour l'aspirien mais le PC n'en a pas voulu, il pretexte n'avoir aucun probleme.
Plus serieusement, il n'y aucin code pour la dialogu box car comme je le dit dans le message de debut, je la dessine a l'aide de microsoft visual studio qui est sence produire le code je penses. L'image et l'icone sont donc insere dans des boites de d'image que je "regle" respectivement pour recevoir l'icone te l'autre le bmp. Donc voila dsl pas de code.

Pour BruNews je vais essayer ms il semble deja ke je fait un truc comme ca et que ca a pas marche
je tiens au courant

merci
0
julienbornet Messages postés 99 Date d'inscription jeudi 9 février 2006 Statut Membre Dernière intervention 2 février 2009
13 mars 2006 à 22:52
C incomprehensible. Je viens d'essayer le code de BruNews et ca marche pas. Je me suis dit que j'allais changer la culeur de fond pour essayer. Pour cela je me suis inspire du code suivant:


<OL>
<LI><SAMP>/**</SAMP>
<LI><SAMP>* Programme : ChangeBckColor</SAMP>
<LI><SAMP>* Auteur : Shell</SAMP>
<LI><SAMP>* Date : 06/04/2004</SAMP>
<LI><SAMP>* Commentaires : Permet de changer a sa guise la couleur de fond d'un Dialog</SAMP>
<LI><SAMP>**/</SAMP>
<LI>
<LI>#include <windows.h>
<LI> #include "resource.h"
<LI>
<LI>HBRUSH hBrush;
<LI>HINSTANCE hInst;
<LI>
<LI>LRESULT CALLBACK DlgProc(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam);
<LI>
<LI>
int
APIENTRY WinMain(HINSTANCE hInstance,
<LI> HINSTANCE hPrevInstance,
<LI> LPSTR lpCmdLine,
<LI>
int
nShowCmd)
<LI>{
<LI> hInst = hInstance;
<LI> DialogBox(hInstance, MAKEINTRESOURCE(IDD_DIALOG1), NULL, (DLGPROC) DlgProc);
<LI>
return
0;
<LI>}
<LI>
<LI>LRESULT CALLBACK DlgProc(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam)
<LI>{
<LI>
switch
(Msg)
<LI> {
<LI>
case
WM_INITDIALOG:
<LI> <SAMP>//On choisi la couleur de fond a l'aide du "pinceau"</SAMP>
<LI> <SAMP>//Les valeurs doivent etre compris entre 0 et 255</SAMP>
<LI> hBrush = CreateSolidBrush(RGB(192,255,80));
<LI>
break
;
<LI>
<LI>
case
WM_COMMAND:
<LI>
switch
(LOWORD(wParam))
<LI> {
<LI>
case
IDC_QUITTER:
<LI> DestroyWindow(hWnd);
<LI>
break
;
<LI> }
<LI>
break
;
<LI>
<LI>
case
WM_CLOSE:
<LI> DestroyWindow(hWnd);
<LI>
break
;
<LI>
<LI>
case
WM_CTLCOLORDLG:
<LI>
return
(LONG)hBrush;
<LI>
break
;
<LI>
<LI>
default
:
<LI>
return
(FALSE);
<LI> }
<LI>
<LI>
return
(TRUE);
<LI>} </LI></OL>
Et je n'arrive pas a changer la couleur. Je ne comprends plus rein
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
13 mars 2006 à 23:11
Mais c'est quoi le but, peindre le fond avec une couleur ?
Si oui tu traites WM_PAINT et ira aussi bien.

ciao...
http://dev.winsysdev.com
BruNews, MVP VC++
0
julienbornet Messages postés 99 Date d'inscription jeudi 9 février 2006 Statut Membre Dernière intervention 2 février 2009
14 mars 2006 à 18:03
non le but est bien d'afficher l'image mais comme ca ne marche pas g voulut tester pour voir si je pouvais pendre le fond en couleur, mais ca marche pas nono plus.

Quelqu'un a t'il une idee
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
14 mars 2006 à 20:14
0
julienbornet Messages postés 99 Date d'inscription jeudi 9 février 2006 Statut Membre Dernière intervention 2 février 2009
14 mars 2006 à 20:49
Merci BruNews mais j'ai deja essayer ca aussi.
Le probleme 1 c'est que ca marche toujours pas et en plus Ca sert a afficher l'image sur toute la doite de dialogue ce que je ne veux pas.
Merci quand meme

Je penses donc que personne n'a de reponse
0
Rejoignez-nous