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

  FORUM HardWare.fr
  Programmation

  [MFC] CListCtrl : mettre une image à coté du texte...

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[MFC] CListCtrl : mettre une image à coté du texte...

n°104280
antsite
Je me souviens
Posté le 24-02-2002 à 21:10:30  profilanswer
 

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

mood
Publicité
Posté le 24-02-2002 à 21:10:30  profilanswer
 

n°104387
El_gringo
Posté le 25-02-2002 à 09:00:26  profilanswer
 

heu, juste une question... c code, t'espères que ça va t'afficher tes images !?

n°104712
antsite
Je me souviens
Posté le 25-02-2002 à 20:00:55  profilanswer
 

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]

n°104945
El_gringo
Posté le 26-02-2002 à 12:26:17  profilanswer
 

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]

n°104974
antsite
Je me souviens
Posté le 26-02-2002 à 13:21:40  profilanswer
 

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 !

n°105026
El_gringo
Posté le 26-02-2002 à 14:14:07  profilanswer
 

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]

n°105033
antp
Super Administrateur
Champion des excuses bidons
Posté le 26-02-2002 à 14:17:38  profilanswer
 

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]


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°105039
El_gringo
Posté le 26-02-2002 à 14:19:57  profilanswer
 

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:

n°105040
antsite
Je me souviens
Posté le 26-02-2002 à 14:20:30  profilanswer
 

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.

n°105043
antsite
Je me souviens
Posté le 26-02-2002 à 14:22:01  profilanswer
 

j'avais pas lu ton dernier post El_Gringo, alors moi aussi je te fais mes excuses.

mood
Publicité
Posté le 26-02-2002 à 14:22:01  profilanswer
 

n°105045
antp
Super Administrateur
Champion des excuses bidons
Posté le 26-02-2002 à 14:24:37  profilanswer
 

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:


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°105052
El_gringo
Posté le 26-02-2002 à 14:33:46  profilanswer
 

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

n°105054
El_gringo
Posté le 26-02-2002 à 14:34:24  profilanswer
 

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

n°105204
antsite
Je me souviens
Posté le 26-02-2002 à 18:52:52  profilanswer
 

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.

n°105221
antp
Super Administrateur
Champion des excuses bidons
Posté le 26-02-2002 à 19:40:17  profilanswer
 

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)


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°105228
antsite
Je me souviens
Posté le 26-02-2002 à 20:10:14  profilanswer
 

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.

n°105310
antp
Super Administrateur
Champion des excuses bidons
Posté le 26-02-2002 à 22:32:03  profilanswer
 

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 :/


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°105458
antsite
Je me souviens
Posté le 27-02-2002 à 10:55:34  profilanswer
 

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);

n°105502
El_gringo
Posté le 27-02-2002 à 12:06:17  profilanswer
 

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]

n°105552
antsite
Je me souviens
Posté le 27-02-2002 à 14:03:14  profilanswer
 

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

n°105590
antp
Super Administrateur
Champion des excuses bidons
Posté le 27-02-2002 à 14:53:59  profilanswer
 

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


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°105694
antsite
Je me souviens
Posté le 27-02-2002 à 18:21:42  profilanswer
 

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:

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  [MFC] CListCtrl : mettre une image à coté du texte...

 

Sujets relatifs
[JS] Ouvrir une fenetre contenant une image et de la taille de l'image[Delphi] Mettre une fenetre au premier plan
J'aimerais avoir des infos sur MFC[PHP] Gallerie d' image
[JAVA] Image en fond d'écran[MFC] CTreeCtrl -> SetImageList
Mettre du javascript dans du php3 ???est ce dur de mettre un programme au demarage de windowS?
mettre des doc office en consultation sur un site WEBmettre de l'assembleur dans du C
Plus de sujets relatifs à : [MFC] CListCtrl : mettre une image à coté du texte...


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR