2010-06-02 6 views
2

J'essaye de remplir un wxListCtrl mais après avoir essayé différentes méthodes ne peux pas sembler pouvoir le remplir avec des articles.Comment remplir wxListCtrl?

Fondamentalement, je veux un contrôle de liste qui aurait trois colonnes avec des en-têtes et affichera des valeurs dans les lignes. Mais j'ai essayé les méthodes InsertItem, SetItem, ou InsertColumn mais je suis seulement capable d'afficher les en-têtes de colonnes mais pas les données de ligne. Toute aide est la bienvenue! Merci d'avance!

Répondre

0

Vous pouvez ajouter des colonnes comme ceci:

int column_width = 90; 
my_list_ctrl->InsertColumn(0, L"ColumnText", wxLIST_FORMAT_LEFT, column_width); 

Vous pouvez ajouter des éléments comme ceci:

int image_index = 0; 
long list_index = my_list_ctrl->InsertItem(0, L"My Item text", image_index); 

Vous pouvez définir le texte des sous-éléments comme celui-ci:

int column_index = 1; 
my_list_ctrl->SetItem(list_index, column_index, L"Text"); 

Vous pouvez configurer une liste d'images pour votre liste comme ceci:

my_list_ctrl->SetImageList(&img_list, wxIMAGE_LIST_SMALL); 
+0

Merci! Ça a marché! Cependant, vous devez d'abord insérer une colonne. Voici à quoi cela ressemble: wxString col1(wxT("Column1")); // column heading wxString mystring(wxT("My value")); //column value long indx1 = alist->InsertColumn(0, col1); //you need indx1 var to insert item at long itemIndex1 = alist->InsertItem(indx1, mystring, 0); azm882

+0

@ azm882: Pas de problème, ravi de vous aider. –

+0

Merci encore Brian! J'ai un problème supplémentaire si ... en utilisant les méthodes ci-dessus, je peux montrer la valeur1 dans la colonne1 très bien ... cependant, je ne suis pas en mesure d'afficher value2 dans colum2 ... J'ai essayé de faire un autre InsertItem ou SetItem mais je suis seulement capable de montrer les valeurs une ligne à la fois ... ce que je veux faire est de montrer quelque chose comme "user id" dans colum1 et "user name" dans column2 (qui composera la ligne 1) et ensuite sur la prochaine rangée montrer une autre nom d'utilisateur + identifiant d'utilisateur. Merci encore! – azm882

Questions connexes