c++ - wxSizers not arranging correctly in wxWidgets -



c++ - wxSizers not arranging correctly in wxWidgets -

i have 2 wxtextctrls , 2 wxbuttons within panel. want arrange them using sizers. want set wxtextctrls horizontal , wxbuttons vertical. seems not work, here's code:

wxpanel* panel = new wxpanel(this); wxpanel* panel2 = new wxpanel(this); wxstatictext* u = new wxstatictext(panel, wxid_any, "username"); uid = new wxtextctrl(panel, wxid_any); wxstatictext* p = new wxstatictext(panel, wxid_any, "password"); pass = new wxtextctrl(panel, wxid_any, "", wxdefaultposition, wxdefaultsize, wxte_password); wxbutton* r = new wxbutton(panel, 1, "register"); wxstaticline* line = new wxstaticline(panel2, wxid_any, wxdefaultposition, wxsize(0,15)); wxbutton* l = new wxbutton(panel, 2, "login"); //wxdefaultsize, wxte_multiline | wxhscroll | wxte_readonly); wxboxsizer* panelsizer1 = new wxboxsizer(wxhorizontal); panelsizer1->add(u, wxsizerflags().top()); panelsizer1->add(uid, wxsizerflags().top()); panelsizer1->add(p, wxsizerflags().top()); panelsizer1->add(pass, wxsizerflags().top()); panel->setsizer(panelsizer1); wxboxsizer* panelsizer = new wxboxsizer(wxvertical); panelsizer->add(l, wxsizerflags().center()); panelsizer->add(line, wxsizerflags().center()); panelsizer->add(r, wxsizerflags().center()); panel->setsizer(panelsizer);

what should do?

calling panel->setsizer() twice, panelsizer1 first , panelsizer, not going useful sec phone call replaces sizer set first one. must embed sizers 1 other accomplish desired layout.

also, hint: typical 2-column layout labels on left , text controls on right easier utilize wxflexgridsizer , not box sizers in first place.

c++ user-interface wxwidgets wx

Comments

Popular posts from this blog

java - How to set log4j.defaultInitOverride property to false in jboss server 6 -

c - GStreamer 1.0 1.4.5 RTSP Example Server sends 503 Service unavailable -

Using ajax with sonata admin list view pagination -