Hi,
I've got following code (as a spike):
(require racket/gui)
(define win (new frame% [label "Hi there!"]))
(define grid-group (new group-box-panel% [label "My group"] [parent win] [horiz-margin 10] [vert-margin 10]))
(define g1 (new horizontal-pane% [parent grid-group]))
(define g1-1 (new horizontal-pane% [alignment '(left center)] [parent g1] [min-width 200]))
(define g1-2 (new horizontal-pane% [alignment '(left center)] [parent g1] [min-width 300]))
(define g1-3 (new horizontal-pane% [alignment '(center center)] [parent g1] [min-width 100]))
(define btn1 (new button% [parent g1-1] [label "Button 1"]
[callback (lambda (b e)
(send lbl1 set-label "New label")
;(send g1 reflow-container)
;(send g1-3 container-flow-modified)
)]))
(define gg1 (new gauge% [parent g1-2] [stretchable-width #t] [label "gauge 1"] [range 100]))
(define lbl1 (new message% [parent g1-3] [label "This is lbl 1 and long"]))
(define g2 (new horizontal-pane% [parent grid-group]))
(define g2-1 (new horizontal-pane% [alignment '(left center)] [parent g2] [min-width 200]))
(define g2-2 (new horizontal-pane% [alignment '(left center)] [parent g2] [min-width 300]))
(define g2-3 (new horizontal-pane% [alignment '(center center)] [parent g2] [min-width 100]))
(define btn2 (new button% [parent g2-1] [label "Btn 2"]))
(define g2-lbl (new message% [parent g2-2] [label "This is something else then a gauge"]))
(define lbl2 (new message% [parent g2-3] [label "This is lbl 2"]))
(define g3 (new horizontal-pane% [parent grid-group]))
(define g3-1 (new horizontal-pane% [alignment '(left center)] [parent g3] [min-width 200]))
(define g3-2 (new horizontal-pane% [alignment '(left center)] [parent g3] [min-width 300]))
(define g3-3 (new horizontal-pane% [alignment '(center center)] [parent g3] [min-width 100]))
(define btn3 (new button% [parent g3-1] [label "Btn 3"]
[callback (lambda (b e) (send lbl3 set-label "Longer label now"))]))
(define g3-lbl (new message% [parent g3-2] [label "This is something else then a gauge, another message"]))
(define lbl3 (new message% [parent g3-3] [label "short"]))
(send win show #t)
It results in the following window:
As can be seen, the labels on the right are centered. This is as expected.
Now, when I push 'Button 1', the label on the right will change to "New label".
What happens here? The label is not centered anymore, while the horizontal alignment of the containing horizontal-pane% is 'center.
When I push 'Btn3', the short label is changed to "Longer label now". And that looks like this:
So, the "Longer label..." is displayed, but not centered.
What am I missing here?
Thanks in advance for your answers.