Bitmap dans une dialogue box

Mastersam Messages postés 116 Date d'inscription dimanche 26 septembre 2004 Statut Membre Dernière intervention 13 février 2008 - 27 sept. 2004 à 21:42
Mastersam Messages postés 116 Date d'inscription dimanche 26 septembre 2004 Statut Membre Dernière intervention 13 février 2008 - 29 sept. 2004 à 16:59
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

cs_AlexMAN Messages postés 1536 Date d'inscription samedi 21 décembre 2002 Statut Membre Dernière intervention 24 mai 2009 1
27 sept. 2004 à 21:56
Ajoute un static avec style SS_BITMAP.

++
0
Mastersam Messages postés 116 Date d'inscription dimanche 26 septembre 2004 Statut Membre Dernière intervention 13 février 2008
29 sept. 2004 à 16:42
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
0
cs_AlexMAN Messages postés 1536 Date d'inscription samedi 21 décembre 2002 Statut Membre Dernière intervention 24 mai 2009 1
29 sept. 2004 à 16:49
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);

++
0
Mastersam Messages postés 116 Date d'inscription dimanche 26 septembre 2004 Statut Membre Dernière intervention 13 février 2008
29 sept. 2004 à 16:59
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
0
Rejoignez-nous