Accueil > Forum > > > > adapter l'image à la taille du bouton
adapter l'image à la taille du bouton
vendredi 31 août 2007 à 11:51:55 |
adapter l'image à la taille du bouton

ndubien
|
Bonjour, Je cherche à mettre une image sur un bouton qui s'adapte automatiquement dés que la taille du bouton change. Tout d'abord cette opération est-elle possible en C API Win32? Si oui comment?
Pour information j'ai déjà trouver comment mettre l'image sur le bouton, je recherche seulement comment faire pour que l'image s'adapte à la taille du bouton. Mon code actuel: HBITMAP hBitmap = (HBITMAP)LoadImage( NULL, "taupe.bmp", IMAGE_BITMAP, 0, 0, LR_DEFAULTSIZE | LR_LOADFROMFILE ); bouton = CreateWindowEx(WS_EX_WINDOWEDGE, "BUTTON", "Mon bouton avec image", BS_BITMAP|WS_CHILD|WS_VISIBLE|BS_PUSHBUTTON, 0, 0, 150, 75, hwndPrinc, 0, NULL, NULL ); SendMessage( bouton, BM_SETIMAGE, IMAGE_BITMAP, (long)hBitmap );
Merci d'avance et à bientôt.
Nico
|
|
vendredi 31 août 2007 à 15:01:37 |
Re : adapter l'image à la taille du bouton

rt15
|
Réponse acceptée !
Salut, "possible en C API Win32" Quelques chose sous Windows qui n'est pas possible en C API Win32 est souvent impossible tout court. Presque tout s'appuie là-dessus... Je sais pas si il y a plus facile, mais tu peux le faire à la main avec la fonction StretchBlt.
|
|
vendredi 31 août 2007 à 17:54:21 |
Re : adapter l'image à la taille du bouton

ndubien
|
Bonjour,
Merci pour cette réponse rt15, Mais mon problème est que la taille du bouton n'est pas fixe, il faudrait donc que la taille de l'image change lorsque la taille du bouton change. Je devrait donc faire une procédure propre au bouton qui lui permette d'avoir une image de taille adaptée. Par conséquent, je garde cette réponse en réserve au cas ou aucune autre ne me parvienne.Merci... Nico
|
|
vendredi 31 août 2007 à 18:13:08 |
Re : adapter l'image à la taille du bouton

SnOOpss
|
Réponse acceptée !
Pas avec cette methode mais c'est possible en 1 - passant par les ownerdraw 2 - utiliser StretchBlt pour afficher ton image aux dimensions du boutton
Ya un exemple dans une de mes sources
|
|
vendredi 31 août 2007 à 21:55:42 |
Re : adapter l'image à la taille du bouton

yann_lo_san
|
Réponse acceptée !
Salut, Si les MFC ne te dérange pas trop, tu peux traduire le code ici : http://www.cppfrance.com/code.aspx?ID=38953En gros, tu peux ou sous-classer le boutton pour récuperer la WNDPROC ou faire un btn ownerdraw. Ensuite il faut surcharger le message DRAWITEM et utiliser stretchBlt comme dit plus haut.
|
|
vendredi 31 août 2007 à 22:05:00 |
Re : adapter l'image à la taille du bouton

ndubien
|
Réponse acceptée !
Merci tous le monde pour ces réponses, j'ai également trouvé comment utiliser ces diverses techniques grâce Programming Windows by Charles Petzold. II-14-The GDI Bitmap Object.
Nico
|
|
vendredi 31 août 2007 à 22:09:24 |
Re : adapter l'image à la taille du bouton

ndubien
|
Réponse acceptée !
Juste pour le livre voilà un aperçu des codes permettant d'afficher des images sur des hwnd et quelqu'ils soient:
// Afficher plusieurs fois la même image ou motif // cxSource taille de l'image source // cySource taille de l'image source
case WM_PAINT: hdc = BeginPaint (hwnd, &ps) ;
switch (iSize) { case IDM_BIG: StretchBlt (hdc, 0, 0, cxClient, cyClient, hdcMem, 0, 0, cxBitmap, cyBitmap, SRCCOPY) ; break ;
case IDM_SMALL: for (y = 0 ; y < cyClient ; y += cyBitmap) for (x = 0 ; x < cxClient ; x += cxBitmap) { BitBlt (hdc, x, y, cxBitmap, cyBitmap, hdcMem, 0, 0, SRCCOPY) ; } break ; }
EndPaint (hwnd, &ps) ; return 0 ;
Encore merci.
Nico
|
|
vendredi 31 août 2007 à 22:35:26 |
Re : adapter l'image à la taille du bouton

yann_lo_san
|
Pour etre complet il faudrait rajouter le cas avec une image masque de transparence pour détourage
::SelectObject(hdcMem, hBmpMask); StretchBlt(hdc, 0, 0, cxClient, cyClient, hdcMem, 0, 0, cxBitmap, cyBitmap, SRCAND);
::SelectObject(hdcMem, hBmpNormal); StretchBlt(hdc, 0, 0, cxClient, cyClient, hdcMem, 0, 0, cxBitmap, cyBitmap, SRCINVERT);
|
|
samedi 1 septembre 2007 à 14:16:50 |
Re : adapter l'image à la taille du bouton

ndubien
|
Que signifie "image masque de transparence" ?
|
|
samedi 1 septembre 2007 à 14:28:50 |
Re : adapter l'image à la taille du bouton

SnOOpss
|
C'est pour ne pas afficher le "fond du boutton" si par exemple ton boutton est arrondis il ne faut pas afficher les angles pour permettre a la couleur de fond du dialog d'apparaitre autour du boutton. Par contre je connaissais pas cette technique merci Yann_lo_san moi je faisait surtout avec TransparentBlt().
|
|
Cette discussion est classée dans : bouton, taille, image, bitmap, hbitmap
Répondre à ce message
Sujets en rapport avec ce message
image dans bouton ?? [ par yohann2004 ]
Toujours le meme probleme !! J'ai regardé l'exemple du site, les conseils que l'on m'a donné mais ca marche pas !! Voici mon code : CBitmap picture
Image sur un bouton [MFC] [ par mfrai02 ]
Salut , j'utilise visual studio .net 2003 et les MFC. j'utilise ce bout de code pour afficher une iamge sur un bouton et ça marche bien : HWND hBout
Bitmap et MFC [ par torNADoS ]
Salut,je voudrais savoir comment puis je acceder au bits d'une image bitmap sous MFCsuuposons que j ai HBITMAP hBitmap//handlerCBitmap m_bmpBitmap//Im
redimenssion image avec hbitmap [ par glipper ]
bonjour,j'ai reussi à charger une image depuis un fichier, et la faire apparaître dans un boutons (dans une dialogbox). J'ai donc procédé comme ceci :
problème de désactivation d'un bouton [ par Pistol_Pete ]
BonjourVoila mon problème:J'ai un bouton sur lequel j'ai appliqué un bmp et lorsque je veux désactiver ce bouton, au lieu de le griser, il remplace l'
Image sur bouton? [ par ndubien ]
Bonjour,Je cherche à enlever une image mise sur un bouton de la manière suivante:SendMessage( bouton, BM_SETIMAGE, IMAGE_BITMAP, (long)hBitmap );Le bo
Déplacer un bitmap [ par mogwai93 ]
BonjourJe voudrais coder le fonctionnement du déplacement de "bitmap" que l'on retrouve dans Paint :sélection de zone puis déplacement de l'objet vers
image enregistrer le canvas + bitmap [ par athomas ]
bonjour, Je vous expose mon problème : J'ai un composant TPicture (une picture box toute simple). Je charge une image dans le bitmapEnsuite, je mets d
taille et format d'une image [ par let_me_in ]
salut tout le monde, j'ai un proxy qui compresse les images avant de les reenvoyer, le probleme est que certaines images ne contiennent pas leurs tail
les CGIs PHP et images x-bitmap [ par chinui ]
slt tous, j'ai un debutant en programmation avec les CGIs, j'ai u fichier en .c qui génére une image x-bitmap, mais quant j'essais de l'ouvrir avec un
Livres en rapport
|
Derniers Blogs
IMAGINE CUP 2012, MAKE A SIGN EN FINALEIMAGINE CUP 2012, MAKE A SIGN EN FINALE par junarnoalg
Voilà qui est fait, la nouvelle est officielle ! L'équipe belge "Make a Sign" va au pays des kangourous défendre son projet dans la catégorie Software Design. http://www.imaginecup.com/CompetitionsContent/Competition/WorldwideFinalists.aspx V...
Cliquez pour lire la suite de l'article par junarnoalg KINECT 1.5 IS OUT !KINECT 1.5 IS OUT ! par Vko
La version 1.5 du Kinect For Microsoft vient tout juste de sortir ! Plein de nouveautés: Tracking de squelette en Near Mode Détection en position assise Détection faciale avec un SDK dédié Documentation et des guideline (enfin) Un out...
Cliquez pour lire la suite de l'article par Vko LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) LES ACTUALITéS DE LA SEMAINE SUR C2I.FR (14 MAI - 20 MAI) par richardc
Mise à jour des Web API du 14 Mai
Réservez dès maintenant votre journée du 20 juin pour le Windows Azure Dev Camp 2012 à Paris
Mise à jour de Team Foundation Service
MechCommander 2 sur Windows 8
Entity Framework 5 Release Candidate e...
Cliquez pour lire la suite de l'article par richardc REACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITERREACTIVE EXTENSIONS : CONSOMMER DES SERVICES AVEC RX PARTIE 3, LES PIèGES à éVITER par Groc
Une mauvaise utilisation de rx lors de l'écriture d'une couche d'accès à des services peut conduire à des cas embarassants avec des erreurs mal gérées, des appels qui ne partent lorsqu'ils le devraient, et même des résultats incorrects . le tout nuis...
Cliquez pour lire la suite de l'article par Groc SHAREPOINT BLOG SITE, PROBLèME D'ARCHIVESSHAREPOINT BLOG SITE, PROBLèME D'ARCHIVES par junarnoalg
Dernièrement, nous avons migré le site
myTIC
vers un nouveau serveur SharePoint 2010. Dans les contenus que nous vouloins récupérer, nous avions un certain nombre de blogs.
Nous avons utilisé les commandes Power...
Cliquez pour lire la suite de l'article par junarnoalg
Forum
RE : SAC A DOS RE : SAC A DOS par hadjkaddour
Cliquez pour lire la suite par hadjkaddour
Logiciels
sDEVIS-FACTURES vlPRO (8.1.0.3)SDEVIS-FACTURES VLPRO (8.1.0.3)sDEVIS-FACTURES vlPRO a été mis au point pour les particuliers, créateurs, entrepreneurs, artisa... Cliquez pour télécharger sDEVIS-FACTURES vlPRO 974 Application Server (12.2.4.6)974 APPLICATION SERVER (12.2.4.6)Développez de puissantes applications dans un environnement de 'cloud computing', clusterisé, séc... Cliquez pour télécharger 974 Application Server vPicture (1.4.2.1)VPICTURE (1.4.2.1)Avec vPicture, hébergez vos images facilement et rapidement.
vPicture est un utilitaire simple, ... Cliquez pour télécharger vPicture Easy-Planning (2.2.1.6)EASY-PLANNING (2.2.1.6)Easy-Planning permet de créer des plannings sous la représentation de diagrammes et est adapté au... Cliquez pour télécharger Easy-Planning COM-BACKUP (2.0)COM-BACKUP (2.0)
COM-BACKUP est un logiciel de sauvegarde qui permet de planifier les sauvegardes de vos dossiers ...
Cliquez pour télécharger COM-BACKUP
|