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++
» Affichage partiel de wxPanels
Conversation : Affichage partiel de wxPanels
03-07-2008 17:37:56  Affichage partiel de wxPanels #1
guyothomas (Membre)
Inscrit le : 05-06-2008
Messages: 66
Snippets: 0
Tutoriels: 0
Hors ligne
Bonjour,
j'ai une question concernant l'affichage dans des wxPanels. La structure de mon programme est un peu compliquée alors je l'explique succinctement:
On a la classe qui dérive de wxApp qui contient une wxFrame (main_frame) et un wxPanel (main_panel). (c'est déjà peut-être une première hérésie me direz vous...)
le main_panel comprend plusieurs autres wxPanels qui représentent les différentes fenêtres de mon appli et qui sont affichées successivement selon les besoins, dans un wxBoxSizer du main_panel.

Ces panels comprennent tout le temps une image de fond, sur laquelle on ajoute d'autres wxBitmaps suivant les besoins, et des contrôles classiques comme des wxStaticText, des wxBitmapButton et autres.
Pour l'image de fond, aucun problème, elle est tout le temps là et correctement affichée.

1/ La première chose que je ne m'explique pas est que souvent, les autres bitmaps que je veux afficher (par dessus le fond) ne sont pas toujours dessinés jusqu'au bout (je veux dire jusqu'en bas de la fenêtre, ou jusqu'à son côté droit) ce qui fait que je me retrouve avec des images coupées à droite ou en bas.
ça n'a pas l'air de venir du fait que mes wxPanels sont initialisés avec le paramètre wxDefaultSize, car j'ai fait le test en mettant une size.

2/ La seconde chose que j'arrive déjà un peu mieux à m'expliquer mais que je n'arrive pas à résoudre est que parmi tous mes wxPanels qui sont en attente d'être affichés, certains de leurs contrôles apparaissent par dessus le panel actif et affiché et gênent donc la vue.

à noter que j'initialise (avec des new MyXxxPanel(..)) dans le constructeur du main_panel tous les panels en même temps et que je les Show() quand j'en ai besoin.

Voilà mon désarroi, j'espère que quelqu'un pourra m'éclairer sur ce sujet.
merci et bonsoir,

Thomas.
03-07-2008 17:55:28  Re: Affichage partiel de wxPanels #2
Xaviou (Administrateur)
Lieu: Annecy (74)
Inscrit le : 27-08-2007
Messages: 1383
Snippets: 25
Tutoriels: 6
Site web
Hors ligne
Salut.

Pour le deuxième point, penses bien à faire un "Layout()" sur le wxBoxSizer principal après avoir caché/affiché le ou les panels correspondants.
Vérifies également que les contrôles soient affectés au bon panel (une erreur est vite arrivée quand on a une interface un peu compliquée).

Pour le premier point, si tu réorganises tes contrôles sur les différents panels avec un sizer, vérifies que la proportion soit bien à 0 pour les wxBitmapButtons, et n'hésites pas également à lancer un Layout() sur chaque panel quand tu as fini de le créer.

Sinon, comme ça, je vois pas trop.
Faudrait mettre un peu de code, qu'on puisse mieux voir.

@+
Xav'

Le nouveau portail wxWidgets francophone : www.wxdev.fr
Ben en fait, vous y êtes déjà...
Menu forum (navigation):
Pages: 1  
 
Accueil » Accueil forums » Développement C/C++
» Affichage partiel de wxPanels