WxBoxSizer-->Sizer ma ToolBar;;

Résolu
cs_satellite34 Messages postés 688 Date d'inscription mercredi 6 avril 2005 Statut Membre Dernière intervention 2 juin 2006 - 7 sept. 2005 à 04:41
fredcl Messages postés 547 Date d'inscription mercredi 8 janvier 2003 Statut Membre Dernière intervention 7 octobre 2007 - 7 sept. 2005 à 17:09
Bonjour,

alors voila, encore un petit soucis avec les sizers ( c' était trop beau pour etre vrai ) :
Utilisant, dans mon programme, une ToolBar avec plusieurs contrôles dedans, je me retrouve avec mes ToolsControls effacés dans les méandres de la frame, dés que je resize ma frame.

Donc, je veux mettre ma ToolBar et tous ses toolsControls dans un sizer Horizontal de maniere à ce que les controles soient le plus possible visibles.Et puis, en terme graphique c'est quand meme mieux:;)

Donc, pour cette affaire je creer un wxBoxSizer avec orientation HORIZONTAL;

bSizer3 = new wxBoxSizer(wxVERTICAL);

Je dis que c' est la tool bar qui prends le sizer;;;; enfin, sur la doc ya pas cette fonction dans les membres de wxToolBar;alors..... autant c' est ca qui "chie dans la colle...."
ToolBar->SetSizer(bSizer3);

et pis je met mes Tools ds le sizer

bSizer3->Add(Address, 1, wxGROW|wxADJUST_MINSIZE, 0);
bSizer3->Add(EditAddress, 1, wxGROW|wxADJUST_MINSIZE, 0);
bSizer3->Add(User, 1, wxGROW|wxADJUST_MINSIZE, 0);

ceux ci on ete creés plus tot ds la fonction et sont de la forme
ToolBar->AddControl(Control);

Voila, ben sinon, j' ai tester avec plusieurs sizers puis avec un wxSizer, pas d'erreurs a la compile, mais ca ne fonctionne pas.

Suis-je sur la bonne voie avec le wxBoxSizer pour sizer ma toolbar???

event.Merci();
@+;
ROOT_DIEU Alias satellite34

5 réponses

fredcl Messages postés 547 Date d'inscription mercredi 8 janvier 2003 Statut Membre Dernière intervention 7 octobre 2007 1
7 sept. 2005 à 17:09
Si c'est pour ton client FTP tu verras que je n'ai pas utilisé de toolbar mais un wxPanel tout simplement, je poste sur l'autre question du forum une source pour l'organisation de ta fenêtre client FTP

Cordialement

FredCL
3
cs_satellite34 Messages postés 688 Date d'inscription mercredi 6 avril 2005 Statut Membre Dernière intervention 2 juin 2006 1
7 sept. 2005 à 04:45
erf désolé mais il est tard, me suis trompé de source, enfin c'est pareil, ca ne marche pas;

bSizer3 = new wxBoxSizer(wxHORIZONTAL);

idem pour le reste

Dsl


event.Merci();
@+;
ROOT_DIEU Alias satellite34
0
MoDDiB Messages postés 546 Date d'inscription mardi 26 novembre 2002 Statut Membre Dernière intervention 4 mai 2007 1
7 sept. 2005 à 11:56
A priori pas besoin de l'attaché à la fenetre parente il suffit d'y attaché les controls comme ceci :

// we want to get a dialog that is stretchable because it
// has a text ctrl at the top and two buttons at the bottom

MyDialog::MyDialog(wxFrame *parent, wxWindowID id, const wxString &title )
: wxDialog(parent, id, title, wxDefaultPosition, wxDefaultSize,
wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER)
{
wxBoxSizer *topsizer = new wxBoxSizer( wxVERTICAL );

// create text ctrl with minimal size 100x60
topsizer->Add(
new wxTextCtrl( this, -1, "My text.", wxDefaultPosition, wxSize(100,60), wxTE_MULTILINE),
1, // make vertically stretchable
wxEXPAND | // make horizontally stretchable
wxALL, // and make border all around
10 ); // set border width to 10

wxBoxSizer *button_sizer = new wxBoxSizer( wxHORIZONTAL );
button_sizer->Add(
new wxButton( this, wxID_OK, "OK" ),
0, // make horizontally unstretchable
wxALL, // make border all around (implicit top alignment)
10 ); // set border width to 10
button_sizer->Add(
new wxButton( this, wxID_CANCEL, "Cancel" ),
0, // make horizontally unstretchable
wxALL, // make border all around (implicit top alignment)
10 ); // set border width to 10

topsizer->Add(
button_sizer,
0, // make vertically unstretchable
wxALIGN_CENTER ); // no border and centre horizontally

SetSizer( topsizer ); // use the sizer for layout

topsizer->SetSizeHints( this ); // set size hints to honour minimum size
}

( http://www.wxwidgets.org/manuals/2.6.1/wx_sizeroverview.html#boxsizerprogramming )

Dis moi si ca roule j'ai jamais touché à ça mais ça me parait bien intéressant !
0
cs_satellite34 Messages postés 688 Date d'inscription mercredi 6 avril 2005 Statut Membre Dernière intervention 2 juin 2006 1
7 sept. 2005 à 14:12
bah, merci quand meme mais j' ai la doc aussi!!!!


Je te signale que dans cet exemple, ils l' attachent a la fenetre parent;

SetSizer( topsizer ); // use the sizer for layout
revient a this->SetSizer(topsizer);


de toutes facons j' avais tester avec ca dés le départ

Au Secours fredCL !


event.Merci();
@+;
ROOT_DIEU Alias satellite34
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
MoDDiB Messages postés 546 Date d'inscription mardi 26 novembre 2002 Statut Membre Dernière intervention 4 mai 2007 1
7 sept. 2005 à 14:38
Quand tu repompes leur code mot pour mot ça ne fonctionne pas ?
0
Rejoignez-nous