begin process at 2012 05 28 17:30:17
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

API

 > 

bitmap sur un bouton


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

bitmap sur un bouton

mardi 5 octobre 2004 à 20:27:22 | bitmap sur un bouton

leprov

salut a tous
bon voila mon probleme. j'ai plusieurs boutons sur lesquels sont mis des bitmaps, cependant, au fur et a mesure de l'execution, ces bitmpas sur les boutons sont suceptibles de changer, alors je voudrais pouvoir les décharger de la mémoire avant de réafficher quoi que ce soit, afin d'éviter de bouffer enormement de memoire pour rien. comment faire ca? merci d'avance...
(j'espere avoir été comprehensible, si je me suis mal exprimé et que c'est difficilement comprehensible hesitez pas a le dire)
mardi 5 octobre 2004 à 20:37:47 | Re : bitmap sur un bouton

DeAtHCrAsH

Procéde de la meme manière que pour affciher le premier sur chaque bouton, et n'oublie surtout pas de supprimer tout les objets que tu utilises.
La mémoire restera ainsi quasi inchangée.

Shell
mardi 5 octobre 2004 à 21:24:34 | Re : bitmap sur un bouton

leprov

?????tu pourrais etre un peu plus explicite stp? pour le premier j'ai fait:



HBITMAP hImage = (HBITMAP)LoadImage(hInst,
MAKEINTRESOURCE(IDB_BITMAP1),
IMAGE_BITMAP, 0, 0,
LR_CREATEDIBSECTION);

SendMessage(bouton1, BM_SETIMAGE,
(WPARAM)IMAGE_BITMAP,
(LPARAM)(HANDLE)hImage);


je dois faire quoi quand je veux remplacer par une autre image?

hImage je m'en fous je le réutilise apres pour realoader une nouvelle image ou reloader les autres boutons, mais je veux libérer la mémoire utilisée par le bouton, parce que je sais pas comment faire, et pour l'instant je l'ai pas fait, donc je reload comme un bourrin par dessus et c'est super lourd en memoire, mais je sais pas comment je dois faire pour la libérer, tu pourrais me mettre le code vite fait pour voir ce que je dois faire stp? (jai essayé d'expliquer plus clairement parce que apperement je l'avias pas fait le premiere fois vu ke ta reponse etait deja ce que je savais plus ou moins)
mardi 5 octobre 2004 à 23:01:54 | Re : bitmap sur un bouton

BruNews

Administrateur CodeS-SourceS
Réponse acceptée !
Sur les appels suivants:
hbmp = (HBITMAP)LoadImage(hInst,....);
hold = SendMessage(bouton1, BM_SETIMAGE,
(WPARAM)IMAGE_BITMAP,
(LPARAM)(HANDLE)hImage);
DeleteObject(hold);


ciao...
BruNews, MVP VC++
mercredi 6 octobre 2004 à 09:00:08 | Re : bitmap sur un bouton

leprov

ca efface l'objet anciennement chargé alors k'il y en a un autre par dessus? il arrive a le détcter? putain plus je fais d'APIs et plus je trouve ca bien foutu.
un grand merci a vous deux
mercredi 6 octobre 2004 à 09:03:26 | Re : bitmap sur un bouton

leprov

oups pardon j'avais mal lu ce que t'avais écrit.
bon donc je supprime mon ancienne image avec

hold = SendMessage(bouton1, BM_SETIMAGE,
(WPARAM)IMAGE_BITMAP,
(LPARAM)(HANDLE)hImage);
DeleteObject(hold);


et ensuite je load ma nouvelle image. donc il me faut un HWND hImage par bouton distinct?

donc ensuite

hImage = LoadImage (...);
SendMessage (bouton1, ....);

c'est ca?
mercredi 6 octobre 2004 à 09:14:11 | Re : bitmap sur un bouton

leprov

euh....en fait j'ai un peu de mal a capter.....
c'est moi qui avait mal lu, ou c'est toi qui a mal ecrit?
tu a fait hbmp = LoadImage (...);
et ensuite SendMessage (......hImage);

tu voulais mettre SendMessage (.....hbmp); ?????

(suis pas sur vu que j'ai pas trop assimilé, mais je suppose, ca serait plus logique...)

donc si c'est ca j'avais mal lu, mais c'etait une bonne chose lol.
mercredi 6 octobre 2004 à 11:37:31 | Re : bitmap sur un bouton

BruNews

Administrateur CodeS-SourceS
Réponse acceptée !
ah oui excuse j'ai fait du copier coller depuis ton code, a ne jamais faire on se gourre a tout coup.

hbmp = (HBITMAP)LoadImage(hInst,....);
hold = SendMessage(bouton1, BM_SETIMAGE, (WPARAM)IMAGE_BITMAP, (LPARAM)(HANDLE)hbmp);
DeleteObject(hold);

ciao...
BruNews, MVP VC++
mercredi 6 octobre 2004 à 11:39:57 | Re : bitmap sur un bouton

leprov

oki merci beaucoup brunews......
mercredi 6 octobre 2004 à 18:11:58 | Re : bitmap sur un bouton

leprov

euh question toute bete.....
si je fais
hbmp = (HBITMAP)LoadImage(hInst,....);
SendMessage(bouton1, BM_SETIMAGE, (WPARAM)IMAGE_BITMAP, (LPARAM)(HANDLE)hbmp);

hbmp = (HBITMAP)LoadImage(hInst,....);
hold = SendMessage(bouton1, BM_SETIMAGE, (WPARAM)IMAGE_BITMAP, (LPARAM)(HANDLE)hbmp);
DeleteObject(hold);

donc je met mon image, puis je la remet en effacant l'ancienne, ca va faire quoi? ca va rien me mettre ou ca va quand meme me mettre ce qu'il faut?

ca a l'air débiel comme ca, mais j'ai 12 boutons a gérer qui ont une texture par défaut, donc mon algo applique la texture par défaut a tous les boutons, puis analyse les boutons au cas par cas, mais j'ai l'impression (peux pas vraiment vérifier la comme ca, mais je suppose que le probleme est la) que si la texture par défaut est déja affichée et que j'essaie de la réafficher ca l'efface completement...c'est ca ou mon probleme est ailleurs? merci d'avance

1 2

Cette discussion est classée dans : bouton, boutons, bitmap, comprehensible


Répondre à ce message

Sujets en rapport avec ce message

bouton personnalise [ par MrKribou ] Comment creer des boutons personnalises (les boutons ok et companie) je veux dire, tout simplement ajouter une image par exemple au bouton. Ya t'il un Pb avec CBitmapButton [ par punx120 ] Salutj'ai un problème avec CBitmapButton, je veux créer un bouton avec un bitmap je fais comme ceci mais ça ne marhce pas (j'ai visual c++ 6.0): dans Mettre une bitmap sur un bouton (MFC,VC++) [ par JMGR ] Comment peut - on mettre une image sur un bouton ?Mon code qui ne fonctionne pas :HBITMAP bimp= LoadBitmap(NULL,"bitmaps\\un.bmp");m_x0y0.SetBitmap(bi Insérer bitmap dans un bouton dans une boite de dialogue [ par safira ] safira:)Salut! Je suis nouvelle dans ce forum! J'aimerais savoir comment mettre un bitmap dans bouton qui se trouve dans une boite de dialogue avec MF Boutons visibles et invisibles [ par arb ] BonjourDébutant en C++ (Visual C++ 6.0), j'ai posé 2 boutons sur une form. Je cherche à rendre un bouton invible en cliquant sur l'autre ou a changer Retrouver un bouton [ par kazimir34 ] Bien le bonsoir.J'ai créé une pitite interface .net dans laquelle j'ajoute des boutons dynamiquement.Le truc c'est qu'à un moment j'aimerais bien que super urgent :probleme de creation d'un nombre indefini de boutons [ par chriscrepin1 ] je dois crée un nombre indefini de bouton dans un dialog j'ai reussi mais je n'arrive pas a gerer les evenement dessus j'ai defini un evenement pour l Probleme C++Builder, gestion de boutons etc. [ par FXL ] Bonjour a tous, je vous écris car j'ai un projet de licence a réaliser qui consiste a faire une interface graphique, créer un petit logiciel simple et redimensionnement d'une dialogue et déplacement des boutons [ par cosmobob ] j'ai une boite de dialogue avec un bouton en bas a droite, et quand le boite de dialogue est maximisée, j'aimerai que le bouton se trouve a nouveau en bouton rond et Bitmap [ par Otacon87 ] Bonjour, Je programme sous MSVC6 et j'ai un problème j'arrive à changer la forme d'un bouton et à mettre sur un bouton de base un bitmap mais je n'ar


Nos sponsors


Sondage...

Comparez les prix

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 : 2,231 sec (3)

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