wxDev.fr, le portail francophone consacré à wxWidgets ! ( The french portal for wxWidgets )  
Esp. membre
Recheche rapide



Recherche avancée
Statistiques
Membres inscrits :2359

Membres en ligne : 0
Invités en ligne : 3

Valid XHTML 1.0 Transitional

Valid CSS2

Menu forum (navigation):
Pages: 1  
 
Accueil » Accueil forums » Développement C/C++
» wxComboControl associé à un "bitmap button"
Conversation (Résolue) : wxComboControl associé à un "bitmap button"
29-07-2008 10:11:08  wxComboControl associé à un "bitmap button" #1
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)

Menu forum (navigation):
Pages: 1  
 
Accueil » Accueil forums » Développement C/C++
» wxComboControl associé à un "bitmap button"