Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1720 connectés 

 


Dernière réponse
Sujet : [MFC] CListCtrl : mettre une image à coté du texte...
antsite Et bien oui c'était ça ! Il ne me reste plus qu'à vous remercier tous les deux et à vous dire à une prochaine fois !
a+
  ANT  :hello:

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
antsite Et bien oui c'était ça ! Il ne me reste plus qu'à vous remercier tous les deux et à vous dire à une prochaine fois !
a+
  ANT  :hello:
antp

antsite a écrit a écrit :

d'accord mais ça c'est dans la fonction init() alors il devrait pas y avoir de problèmes non ?




 
bhen si pcq dès que tu sors de Init ta liste elle est détruite, car il s'agit d'une variable locale

antsite J'essaye ça ce soir (je suis pas chez moi la)
El_gringo

antsite a écrit a écrit :

d'accord mais ça c'est dans la fonction init() alors il devrait pas y avoir de problèmes non ?
m_rep.InsertItem(n,f.name,0);  




 
Ouais, j'pense que c bien possible qu'il ai raison antp. Essaye de mettre ton "CImageList img;" en variable globale (si t en C) ou en membre de l'objet qui à cette méthode "Init" (si t en C++).
c vite essayé. T'as rien à perdre et tt à gagner...

 

[jfdsdjhfuetppo]--Message édité par El_Gringo--[/jfdsdjhfuetppo]

antsite d'accord mais ça c'est dans la fonction init() alors il devrait pas y avoir de problèmes non ?
m_rep.InsertItem(n,f.name,0);
antp oui, mais ta liste ne doit pas etre detruite
 
si tu fais:
 
void init() {
  CImageList img;
  img.Create(16,16,ILC_COLOR4,1,1);
  img.Add(AfxGetApp()->LoadIcon(IDI_REP));
  m_rep.SetImageList(&img,LVSIL_SMALL);
  m_rep.InsertItem(n,f.name,0);
}
 
dès qu'on sort de la fonction l'image list est détruite, et donc la CListCtrl n'a plus rien à afficher :/
antsite pour l'image list je pense pas car sinon comment l'utiliser ? Non à mon avis et d'après ce que j'ai pu comprendre dans la doc, un seul appel suffit et après il n'y a plus qu'à donner la position de l'image dans cette liste.
antp logiquement ça serait small au lieu de normal (normal c'est les 32x32)
ton imagelist, elle est pas par hasard détruite après que tu sois sorti de la fonction ? (variable locale)
antsite Donc pour en revenir au topic, il y a bien des items dans la liste (ils sont affichés donc je pense pas qu'il y est de problèmes de ce coté).
J'ai essayé avec un Bitmap à la place de l'icone, idem. Quand je met LVSIL_SMALL, il y a cette fois à la place de l'icone un petit carré blanc, c'est à dire qu'il pense bien mettre une icone mais il l'affiche pas.
Mon icone est bien 16x16 en 16 couleurs.
El_gringo

antp a écrit a écrit :

 
 
:D ça arrive
enfin sur un forum ça va encore
quand ça arrive "en vrai" c'est encore pire :sweat:  




 
Non, en vrai, j'aurai mis un coup de tête avant de me rendre compte que j'avais tord ! ça se serai beaucoup mieux passé ! :D

El_gringo Essaye de faire voir déja si y a des item dans ta CListCtrl, avec un GetItemCount...
antp

El_Gringo a écrit a écrit :

ha...
évidement, si je lis mal...
Alors là, ça fait parti des moment ou on se sent très seul. Ou on se fait tout petit...
dsl :cry:  




 
:D ça arrive
enfin sur un forum ça va encore
quand ça arrive "en vrai" c'est encore pire :sweat:

antsite j'avais pas lu ton dernier post El_Gringo, alors moi aussi je te fais mes excuses.
antsite D'abord je t'ai pas pris pour un con mais si tu le prends comme ça ben à mon tour de te dire que si t'es pas capable de t'expliquer et d'être tolérant ben casse toi du Forum.
 
Merci Antp, si ça peut m'aider à me faire comprendre, tu as tout à fait raison.
El_gringo ha...
évidement, si je lis mal...
Alors là, ça fait parti des moment ou on se sent très seul. Ou on se fait tout petit...
dsl :cry:
antp y a un truc que je capte pas
il dit que m_rep c'est une CListCtrl et toi tu lui dis d'utiliser plutot une CListCtrl :??:
Je connais pas les MFC, mais la façon dont il procède semble +/- logique (en comparant avec la manière dont fonctionne les composants de Borland)... pas besoin de donner de coordonnées, puisque chaque item de la CListCtrl a une image associée, image dont on donne un index, et qui provient de la CImageList associée.

 

[jfdsdjhfuetppo]--Message édité par antp--[/jfdsdjhfuetppo]

El_gringo Et tu trouves pas bisard qu'a aucun endroit, ni dans le constructeur, ni dans la méthode Create, on ne précise de CRect ou autres coordonnées ! Comment tu choisis ou tu le place ton truc !
ça sert à organiser des images en mémoire ton CImageList...
c pas dit que c'était pas une liste. G dit que c une liste, pas pour afficher, ms pour "ranger" et garder chargées des images en mémoire... d'ou le InsertItem
TT à l'heure j'en était pas sur, ms là, je suis sur à 100%. Preuve formelle: CImageList n'hérite pas de CWnd alors que tt les contrôles qui s'affichent sont des "fenêtres", autrement, héritent de CWnd.

 

[jfdsdjhfuetppo]--Message édité par El_Gringo--[/jfdsdjhfuetppo]

antsite tu as bien lu le sujet ?
m_rep.InsertItem(n,f.name,0);
à ton avis ça sert à quoi ?
0 c'est la position de l'image dans la litse
aller sans rancune !
El_gringo et... t sur que ça sert à ça !?
t'as bien lu la doc ? moi à première vue, je dirais que ça sert à stocker des images en mémoire (qui peuvent d'ailleur être autre chose que des incônes, comme des Bitmaps), pas à les afficher...
essaye plutot avec un CListCtrl.

 

[jfdsdjhfuetppo]--Message édité par El_Gringo--[/jfdsdjhfuetppo]

antsite et oui, pourquoi y a un problème ?
Quand je dis image, c'est icone (j'espère qu'il y avait pas de mal entendu la dessus)

 

[jfdsdjhfuetppo]--Message édité par antsite--[/jfdsdjhfuetppo]

El_gringo heu, juste une question... c code, t'espères que ça va t'afficher tes images !?
antsite Ce code compile mais ne marche pas, quelqu'un peut-il m'aider ?
m_rep c'est la CListCtrl
 
CImageList img;
img.Create(16,16,ILC_COLOR4,1,1);
img.Add(AfxGetApp()->LoadIcon(IDI_REP));
m_rep.SetImageList(&img,LVSIL_NORMAL); //j'ai essayé en LVSIL_SMALL ça fait pareil
m_rep.InsertItem(n,f.name,0);
 
merci

Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)