Bitmap dans une dialogue box

Signaler
Messages postés
116
Date d'inscription
dimanche 26 septembre 2004
Statut
Membre
Dernière intervention
13 février 2008
-
Messages postés
116
Date d'inscription
dimanche 26 septembre 2004
Statut
Membre
Dernière intervention
13 février 2008
-
Bonjour, j'ai cherché pas mal d'info sur les boites de dialogues et bitmaps mais je n'ai pas encore trouvé de solution simple à mon problème.

Je veux juste afficher une image bitmap dans une boite de dialogue qui jouera le role de "à propos de mon logiciel" avec juste l'image , un bouton OK et un petit texte.

Pour le texte et le boutton ça devrais aller mais en revanche pour l'image je vois pas trop, je viens a peine de savoir l'afficher dans une fenêtre normale alors comme la dialogbox n'est pas traitée comme une fenêtre normal et bien je sais pas comment dire de mettre l'image à cet endroit là.

Je travaille en C (pas en C++) avec dev-cpp

merci d'avance.

http://www.rc-bot.com

4 réponses

Messages postés
1536
Date d'inscription
samedi 21 décembre 2002
Statut
Membre
Dernière intervention
24 mai 2009
2
Ajoute un static avec style SS_BITMAP.

++
Messages postés
116
Date d'inscription
dimanche 26 septembre 2004
Statut
Membre
Dernière intervention
13 février 2008

Bon j'ai abandonné la dialogbox car la définition de ressource posait de gros problèmes à la compilation dans devc++ donc j'ai changé et je cré une fenetre de type popup avec des statics text et bitmap et un bouton.

Le seul problème c'est que je n'arrive pas à avoir la coulour voulue dans ma fenetre

d'habitude on met
wincl.hbrBackground = (HBRUSH)GetStockObject(GRAY_BRUSH) ;

mais moi je veux définir une couleur moi même au même endroit, mais quand je fais ça

wincl.hbrBackground = CreateSolidBrush(RGB(225,225,225));

la compilation se passe bien et le programme tourne avec les bones couleurs mais j'ai un warning :

194 [Warning] passing arg 4 of `SendMessageA' makes integer from pointer without a cast

et cette ligne 194 n'a a priori aucun rapport avec la couleur de fond de fond de la fenetre:

191 HWND staticlogo = CreateWindowEx(0, "STATIC", NULL, WS_VISIBLE|WS_CHILD|SS_BITMAP|SS_CENTERIMAGE,
10, 30, 300, 200, Aboutwindow, (HMENU)ID_STATICTITRE, g_hInst, NULL);
193 HBITMAP hbitmap=LoadImage(g_hInst,"Presentation",IMAGE_BITMAP,0,0,LR_CREATEDIBSECTION);
194 SendMessage(staticlogo, STM_SETIMAGE ,IMAGE_BITMAP ,hbitmap);

quand j'ai le background d'origine ça ne fait pas ce warning

d'où ça vient ? ou alors quelle est la bonne méthode pour changer la couleur de fond (sans scruter des messages ou autres trucs qui prennent plus d'une ligne) ?

http://www.rc-bot.com
Messages postés
1536
Date d'inscription
samedi 21 décembre 2002
Statut
Membre
Dernière intervention
24 mai 2009
2
Pour le dernier param de SendMessage, tu fais un cast (inutile mais puis ce ke tu na pas l'air d'apprécier les warnings) en LPARAM :

SendMessage(..., (LPARAM)hbitmap);

++
Messages postés
116
Date d'inscription
dimanche 26 septembre 2004
Statut
Membre
Dernière intervention
13 février 2008

ok merci beaucoup, je programme en C depuis une petite semaine alors ça m'inquiétait. En tout cas ça marche merci

http://www.rc-bot.com