IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

wxWidgets Discussion :

Problème sizer - décalage


Sujet :

wxWidgets

  1. #1
    Membre à l'essai
    Inscrit en
    Juin 2008
    Messages
    63
    Détails du profil
    Informations forums :
    Inscription : Juin 2008
    Messages : 63
    Points : 21
    Points
    21
    Par défaut Problème sizer - décalage
    Bonjour,
    Pour des raisons techniques, j'ai crée une barre de status personnalisée dans laquelle j'affiche plusieurs choses du style ( avec (...) symbolisant des images) :

    Reper : (...) i0 (...) i1 (...)i2 Density = 0

    J'affiche donc les indices d'un repère, ces indices peuvent changer : on peut par exemple avoir les indices i,j, k. Le problème est le suivant, si la taille des indices ( nombre de caractères ) changent, mon texte statique ( Density = ) se retrouve décalé.

    Comment faire pour que ça ne bouge pas?

    Voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
        wxBitmap StatusBitmaps[3];
     
        StatusBitmaps[0] = wxBitmap(_("img/red.png"),wxBITMAP_TYPE_PNG);
        StatusBitmaps[1] = wxBitmap(_("img/green.png"),wxBITMAP_TYPE_PNG);
        StatusBitmaps[2] = wxBitmap(_("img/blue.png"),wxBITMAP_TYPE_PNG);
     
        wxBoxSizer* StatusBar = new wxBoxSizer(wxHORIZONTAL);
        wxStaticText* Reper = new wxStaticText(Panel, wxID_ANY, wxT("Reper: "));
        id_1 = new wxStaticText(Panel, wxID_ANY, _("  "));
        id_2 = new wxStaticText(Panel, wxID_ANY, _("  "));
        id_3 = new wxStaticText(Panel, wxID_ANY, _("  "));
        Density = new wxStaticText(Panel, wxID_ANY, _("Density : 0"));
     
     
          StatusBar->Add(Reper,0,wxALL,3);
          StatusBar->Add(new wxStaticBitmap(Panel,wxID_ANY,StatusBitmaps[0],wxDefaultPosition,wxDefaultSize,0,_("staticBitmap1")),0,wxALL,0);
     
          StatusBar->Add(id_1,0,wxALL,3);
     
          StatusBar->Add(new wxStaticBitmap(Panel,wxID_ANY,StatusBitmaps[1],wxDefaultPosition,wxDefaultSize,0,_("staticBitmap2")),0,wxALL,0);
          StatusBar->Add(id_2,0,wxALL,3);
     
          StatusBar->Add(new wxStaticBitmap(Panel,wxID_ANY,StatusBitmaps[2],wxDefaultPosition,wxDefaultSize,0,_("staticBitmap3")),0,wxALL,0);
          StatusBar->Add(id_3,0,wxALL,3);
          //StatusBar->SetItemMinSize((size_t)1, 50, 20);
          StatusBar->AddSpacer(1150);
          StatusBar->Add(Density,0,wxALL,3);
          //StatusBar->Add(StText,0,wxALL,3);
          Panel->SetAutoLayout(TRUE);
          Panel->SetSizer(StatusBar);
          StatusBar->Fit(Panel);
          GetSizer()->SetSizeHints(Panel);
    Merci pour votre aide

  2. #2
    Membre éclairé

    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    717
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 717
    Points : 858
    Points
    858
    Par défaut
    Tu peux contraindre la taille d'un contrôle avec SetInitialSize() (au moins la taille minimum, pour la taille maximum je ne sais pas).

  3. #3
    Membre émérite
    Avatar de Ti-R
    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Avril 2003
    Messages
    1 683
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2003
    Messages : 1 683
    Points : 2 568
    Points
    2 568
    Par défaut
    Pour chaque élement où tu souhaites une taille fixe:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    // w,h tes 2 valeurs
    tonComposant->SetMinSize(wxSize(w,h));
    tonComposant->SetMaxSize(wxSize(w,h));

Discussions similaires

  1. Besoin d'aide : gros problème de décalage
    Par vallica dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 09/06/2006, 14h10
  2. Problème de décalage sur une page
    Par baleiney dans le forum Balisage (X)HTML et validation W3C
    Réponses: 15
    Dernier message: 26/05/2006, 17h54
  3. [CSS]Problème de décalage
    Par arnaud_verlaine dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 30/04/2006, 15h31
  4. Problème de décalage : Wi-Fi ?
    Par Droïde Système7 dans le forum Composants VCL
    Réponses: 19
    Dernier message: 29/11/2005, 09h41
  5. Réponses: 4
    Dernier message: 30/10/2005, 09h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo