wxWidgets vertikal zentrieren in FlexGridSizer



  • Hallo

    Ich habe ein Problem mit dem wxFlexGridSizer. Und zwar möchte ich das ein Label und ein TextControl auf gleicher Höhe zentriert sind. Habe es mit Align ausprobiert, doch das funktioniert nur in horizontaler Richtung.
    Hier noch ein Screenshot damit wirds hoffentlich klarer: Bild

    Kann mir jemand helfen?



  • Niemand?



  • Hm, könntest du dein Problem genauer beschreiben oder code posten?

    Evtl. hilft es auch mit einem RAD Editor mal etwas rumzuspielen.



  • Ok, es hat sich erledigt.
    Align( wxALIGN_CENTRE_VERTICAL ) passt, hat sich aber mit Expand() gebissen.

    wxSizerFlags szf_left(2);
        szf_left.Align( wxALIGN_CENTRE_VERTICAL ).Border( wxALL, 5 );
        wxSizerFlags szf_right(3);
        szf_right.Align( wxALIGN_CENTRE_VERTICAL ).Border( wxALL, 5 );
    
        wxFlexGridSizer* sz_mask = new wxFlexGridSizer( 2, 5 );
        sz_mask->AddGrowableCol( 0, 2 );
        sz_mask->AddGrowableCol( 1, 3 );
        sz_mask->Add( new wxStaticText( this, -1, _T("Material" ) ),   szf_left );
        sz_mask->AddStretchSpacer(3);
        sz_mask->Add( new wxStaticText( this, -1, _T("Name:" ) ),      szf_left );
        sz_mask->Add( new wxStaticText( this, -1, item.name ),         szf_right );
        sz_mask->Add( new wxStaticText( this, -1, _T("Kategorie:" ) ), szf_left );
        sz_mask->Add( new wxChoice( this, -1,
            wxDefaultPosition, wxDefaultSize, m_items.get_names( CATEGORY ), 0,
            ValChoiceToString( &item.category ) ), szf_right );
    //...
    

    Danke trotzdem.

    PS: Mit wxSmith komm ich überhaupt nicht klar 😞


Anmelden zum Antworten