Re-post : defi pour noel = afficher bitmap dans CListCtrl (help me please)

Signaler
Messages postés
138
Date d'inscription
vendredi 10 janvier 2003
Statut
Membre
Dernière intervention
27 janvier 2009
-
Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
-
je veux afficher dans un CListCtrl, une miniature d'une image (bmp) selectionner sur le disque dur via : CFileDialog();

j'arrive a afficher l'icon du bmp mais le resultat est moche.
le mieux serait de passer par un bitmap redimensionné je pense mais comment je fais ?????
( rappel, l'image est selectionné avec CFileDialog() et non issue des ressources)

je veux le meme resultat que l'explorateur windows en mode miniature.

gege

6 réponses

Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
7
Tu peux faire ca avec StretchBlt. Il te suffit d'avoir un DC cible (de la CListCtrl) et un DC mémoire (contenant le bitmap)
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
26
Exemple avec StretchDIBits ici:
SELECTEUR IMAGE + APERCU (WIN32)
http://www.cppfrance.com/code.aspx?id=10644

ciao...
http://dev.winsysdev.com
BruNews, MVP VC++
Messages postés
138
Date d'inscription
vendredi 10 janvier 2003
Statut
Membre
Dernière intervention
27 janvier 2009

c'est justement ca qui me bloque.

comment faire pour recuperer un CBitmap a partir de LoadImage(...) ????
car CImageList prend un CBitmap.

un p'ti exemple peut etre ?????

gege
Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
7
CBitmap::LoadBitmap devrait remplacer LoadImage
Messages postés
138
Date d'inscription
vendredi 10 janvier 2003
Statut
Membre
Dernière intervention
27 janvier 2009

j'ai regardé la source.
cependant le resultatt est identique que moi en affichant les icons.

(mediocre avec image en degradé)

gege
Messages postés
6535
Date d'inscription
lundi 16 décembre 2002
Statut
Modérateur
Dernière intervention
22 août 2010
7
Pour améliorer le rendu, tu peux ajouter ca:
SetStretchBltMode(hdc, STRETCH_HALFTONE);