guyothomas (Membre)
Inscrit le : 05-06-2008
Messages: 66
Snippets: 0
Tutoriels: 0
Hors ligne |
Bonjour, j'essaie en ce moment de faire un composant qui aurait l'apparence d'un BitmapButton tout en présentant une liste de texte (une wxListView par exemple) lorsque l'on clique dessus.
J'ai bien regardé l'exemple "Combo" livré avec wxWidgets, et je l'ai modifié pour me rapprocher du résultat souhaité. Déjà , c'est très intéressant, on a la possibilité de choisir les bitmaps à afficher avec SetButtonBitmaps().
Seulement, le contrôle étant prévu pour afficher le texte de l'item sélectionné PLUS le bitmap du bouton, je n'arrive pas à lui faire prendre la taille voulue. J'aimerais que le bouton non déroulé fasse 57 par 55... mais je n'arrive qu'à en augmenter la hauteur, et pas à en diminuer la largeur. Voici mes seules modifs de l'exemple Combo, pour que vous compreniez.
Code wxWidgets: ListViewComboPopup* iface = new ListViewComboPopup(); cc->SetPopupControl(iface); ////////////////////////////////////////////////////////////////// // Code intercalé pour customiser le Contrôle: wxBitmap *bmp1 = new wxBitmap("Bitmaps\\param\\b_haut_param_norm.bmp", wxBITMAP_TYPE_BMP); wxBitmap *bmp2 = new wxBitmap("Bitmaps\\param\\b_haut_param_clicked.bmp", wxBITMAP_TYPE_BMP); cc->SetButtonBitmaps(*bmp1, false, *bmp2, wxNullBitmap, wxNullBitmap); cc->SetSizeHints(wxSize(57, 55), wxSize(57, 55), wxSize(57, 55)); cc->SetVirtualSize(wxSize(57, 55)); wxSize a_size = cc->GetSize(); ////////////////////////////////////////////////////////////////// int i; for ( i=0; i<100; i++ ) iface->AddSelection( wxString::Format(wxT("Item %02i"),i)); Si quelqu'un voit comment faire ou bien a une autre idée pour arriver à mes fins (il y a sûrement d'autres solutions), je suis preneur! merci! ---------- Re-bonjour, en fait j'ai trouvé ce qui allait pas, c'était dans l'ajout du comboCtrl dans le boxSizer que les propriétés n'étaient pas bonnes. en mettant: rowSizer->Add(cc); le dimensionnement ne pose plus de problème! Pardon de polluer le forum tout seul!, et merci si vous avez cherché.
Dernière modification par guyothomas (29-07-2008 11:33:28)
|