Salut,
voila mon code pour commencer à créer une fenetre :
(define (go-display)
(let* (
(win-w 600)
(win-h 350)
(w (let-values (((scr-w scr-h) (get-display-size #t)))
(instantiate frame% ()
(label "Orbital" )
(width win-w)
(height win-h)
(x (- (/ scr-w 2) (/ win-w 2)))
(y (- (/ scr-h 2) (/ win-h 2))))))
(h (instantiate horizontal-panel% () (parent w)))
(canva (instantiate canvas% () (min-width 400) (parent h)))
(v (instantiate vertical-panel% () (parent h)))
(dc (send canva get-dc))
;... boutons,...
(c-width
(let-values(((dc-w dc-h) (send canva get-client-size)))
dc-w))
(c-height
(let-values (((dc-w dc-h) (send canva get-client-size)))
dc-h))
) ; fin des variables locales
(send w show #t)
(yield)
(display c-width)
))
m'affiche 1 !!
en fait j'ai vu que lorsque je récupère la taille du canva, il retourne toujours 1,
par contre si je la récupère après le (yield), là c'est bon (440).
Donc dans le let c'est encore "trop tôt", comment je dois faire ?
Je ne comprends pas pourquoi...
merci
ANT