Bonjour,
Voilà : j'ai un wxFrame qui contient un wxPanel.
Celui ci contient plusieurs wxPanel (donc je fixe la taille avec SetSize())
Tout ces "sous panels" sont dans un wxBoxSizer.
Maintenant : j'aimerai : quand je redimensionne la fenetre, que la taille des "sous panels" diminuent proportionnelement au redimensionnement
J'ai donc mis un evenement sur le 1er wxPanel, quand il se redimensionne, il donne sa nouvelle taille aux sous panels qui recalculent et modifient leur taille (toujours avec SetSize).
(En fait comme dans MovieMaker quand on diminue l'espace de montage )
Attention, l'espace entre les sous panel doit rester le meme, donc pas de 1 dans le add
Voici en pseudo code ce que je fais :
Le probleme c'est qui ne m'affiche pas comme il faut : au debut j'ai des tout petits carrés (de 20x20) quand je redimenssionne la fenetre, les carrés de bonnes tailles apparaissent mais son tout superposés puis redeviennent petit carré....
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 void Mon1erPanel::OnSize(.... evt) { GetSize(&longueur, &hauteur) pour chq sous panel: redimensionner(longueur, hauteur); } void SousPanel::redimesionner(longueur, hauteur) { si hauteur > HauteurMAX : hauteur = HauteurMAX SetSize(longueur, hauteur) }
Je me dis donc que cela vien du wxBoxSizer qui ne recalcule pas la position quand la taille des composant change....
Qqu'un aurait il une solution ?
Partager