IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

MFC Discussion :

[MFC] ListCtrl et images


Sujet :

MFC

  1. #1
    Membre confirm�
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    122
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 122
    Par d�faut [MFC] ListCtrl et images
    Bonjour,

    J'aimerais savoir si il est possible d'afficher des images dans une colonne d'un ListCtrl autre que la 1�re.

    Je voudrais pour cela utiliser un LVITEM (si possible):
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    LVITEM lvi;
    	lvi.mask = LVIF_IMAGE;
    	lvi.iItem = 0;
    	lvi.iSubItem = 0;
    	lvi.iImage = 0;
    	m_liMyList.InsertItem(&lvi);
    Le pb est que je ne comprend pas trop cette structure.

    Je me demande m�me si ce que je veux faire est possible...

    Merci!

  2. #2
    Membre confirm�
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    38
    D�tails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2005
    Messages : 38
    Par d�faut
    Bonjour, voici un exemple d'utilisation sous MFC (VC++ 6.0)
    Il faut ajouter ce code dans la m�thode OnInitDialog

    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
     
    // TODO: Add extra initialization here
     
    	// *************************************************************
    	// ** Données membres définies dans le fichier .h de la boîte **
    	// ** de dialogue                                             **
    	// *************************************************************
    	// protected:                                                
    	// CImageList m_ImageList;                                   
    	// 
    	// CListCtrl m_ListCtrl; // Variable mappée au contrôle liste de la dialog
    	//
     
    	// ***************************************************
    	//¨** A faire au niveau des ressources du programme **
    	// ***************************************************
    	// Il faut créer 3 bitmaps de 16x16 (16 couleurs ou 256 peu importe)
    	// Pour ces bitmaps, dessinez-les sur un fond blanc
     
     
    	// *************************************
    	// ** Initialisation de la CImageList **
    	// *************************************
    	// -- Variable pour charger une bitmap depuis les ressources
    	CBitmap Bmp;
     
    	m_ImageList.Create(16,16,ILC_COLORDDB,3,5);
     
    	// -- Ajout de l'image 0
    	Bmp.LoadBitmap(IDB_LISTCTRL_IMG0);
    	m_ImageList.Add(&Bmp,RGB(214,0,147));
    	Bmp.DeleteObject();
     
    	// -- Ajout de l'image 1
    	Bmp.LoadBitmap(IDB_LISTCTRL_IMG1);
    	m_ImageList.Add(&Bmp,RGB(214,0,147));
    	Bmp.DeleteObject();
     
    	// -- Ajout de l'image 2
    	Bmp.LoadBitmap(IDB_LISTCTRL_IMG2);
    	m_ImageList.Add(&Bmp,RGB(214,0,147));
    	Bmp.DeleteObject();
     
    	m_ImageList.SetBkColor(CLR_NONE);
     
    	// ************************************
    	// ** Initialisation de la CListCtrl **
    	// ************************************
    	// -- Ajout de la CImageList dans la CListCtrl
    	m_ListCtrl.SetImageList(&m_ImageList,LVSIL_SMALL);
     
    	// -- Ajout des colonnes
    	m_ListCtrl.InsertColumn(0,"#",LVCFMT_CENTER,30);
    	m_ListCtrl.InsertColumn(1,"Col A",LVCFMT_LEFT,50);
    	m_ListCtrl.InsertColumn(2,"Col B",LVCFMT_LEFT,50);
    	m_ListCtrl.InsertColumn(3,"Col C",LVCFMT_LEFT,50);
    	m_ListCtrl.InsertColumn(4,"Col D",LVCFMT_LEFT,50);
     
    	// -- Modification du style de la CListCtrl
    	m_ListCtrl.SetExtendedStyle(m_ListCtrl.GetExtendedStyle() 
    									| LVS_EX_FULLROWSELECT
    									| LVS_EX_SUBITEMIMAGES);	// Autorise les images sur n'importe quelle colonne
    	// *********************************
    	// ** Remplissage de la CListCtrl **
    	// *********************************
    	int		iPos = 0;
    	LVITEM	lvItem;
     
     
    	// Ajout de la première ligne et de la colonne "#"
    	iPos = m_ListCtrl.InsertItem(0,"1",-1);
    		lvItem.iItem	= iPos;
     
    		lvItem.iSubItem		= 1;			// Initialisation de la colonne "Col A"
    		lvItem.mask			= LVIF_IMAGE;	// avec une image seulement
    		lvItem.iImage		= 0;			// Index de l'image
    		m_ListCtrl.SetItem(&lvItem);
     
    		lvItem.iSubItem		= 2;			// Initialisation de la colonne "Col B"
    		lvItem.mask			= LVIF_TEXT;	// avec du texte seulement
    		lvItem.pszText		= "Texte";
    		lvItem.cchTextMax	= strlen("Texte");
    		m_ListCtrl.SetItem(&lvItem);
     
    		lvItem.iSubItem		= 3;					// Initialisation de la colonne "Col C"
    		lvItem.mask			= LVIF_TEXT|LVIF_IMAGE;	// avec du texte et une image
    		lvItem.pszText		= "OK";
    		lvItem.cchTextMax	= strlen("OK");
    		lvItem.iImage		= 2;
    		m_ListCtrl.SetItem(&lvItem);
    J'esp�re que �� r�pond � tes attentes.

    Madeiras.

  3. #3
    Membre confirm�
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    122
    D�tails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 122
    Par d�faut
    Oui, merci bcp, c'est
    Code : S�lectionner tout - Visualiser dans une fen�tre � part
    1
    2
    3
    4
    // -- Modification du style de la CListCtrl
       m_ListCtrl.SetExtendedStyle(m_ListCtrl.GetExtendedStyle()
                               | LVS_EX_FULLROWSELECT
                               | LVS_EX_SUBITEMIMAGES);   // Autorise les images sur n'importe quelle colonne
    qu'il ma fallait!

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. R�ponses: 6
    Dernier message: 21/09/2006, 17h33
  2. [MFC] Utilisation d'image en couleur 32 bits
    Par vanitom dans le forum MFC
    R�ponses: 1
    Dernier message: 03/08/2005, 11h13
  3. R�ponses: 8
    Dernier message: 17/04/2005, 19h58
  4. [MFC]Ins�rer une image dans un CListCtrl
    Par DestyNov@ dans le forum MFC
    R�ponses: 8
    Dernier message: 04/03/2005, 14h36
  5. R�ponses: 10
    Dernier message: 19/05/2004, 15h44

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo