Salut,
je vais essayer de t'aider en essayant de ne pas dire trop de bêtises, je suis encore plus newbie que toi:
Pour le canvas: il faut distinguer le canvas<%> qui dérive de la "classe"(désolé pour les termes pas très justes, mais tu traduiras) subwindows<%> . Elle permet de dessiner des graphiques ainsi que du texte. C'est à dire que dans cette classe, tu peux lui faire dessiner tout ce que tu veux: des tracés de courbes, des images,...Des plus, cette classe permet de recevoir des évènements de la souris ainsi que du clavier. Je dirai, c'est une classe dynamique. De plus cette inerface est instrumentalisée par deux classes: canvas% et editor-canvas%. C'est à dire que canvas% est le terme générique qui permet de créer des objets qui vont utiliser les proriétés de l'interface canvas<%> sont supérieur dans l'arbre.
Autrement dit, dès que tu veux interagir avec ton prog, tu utilises un canvas.
De surcroit, un canvas peut être contenu dans un pane%.
Le pane%: idem, ne pas confondre panel% et pane%. Le premier est un conteneur (contenant). Il sert généralement au management de la géometrie de ta fenêtre principale. Un panel% objet peut être caché ou désactivé, ce qui n'est pas le ces de ton pane%.
Le pane% sert aussi de manager des différents items de ton interface graphique. Il utilise subarea% alors que panel% utilise sub-windows%.
Je dirai que ces dernier sont statiques à l'inverse du canvas. ils ne font que ce que tu leur dit de faire, alors que canvas permet de visualiser des traitements plus complexes. Je rappelle qu'au niveau termes spécifiques, je suis pas,...au top.
Après, tu joues avec les horizontal-pane% pour aligner horizontalement tes items (bouttons, listes déroulantes,...) ou un vertical-pane% pour les orienter verticalement. Tu peux mettre un horizontal, dans un vertical,...
Bref, ce que je viens de te faire est une traduction non fidèle de la doc.
Pour ce qui est de la taille des canvas et des pane, tu peux les définir, sinon directement, au moins indirectement. D'une part tu peux leur donner une taille minimale et après, tu peux faire qu'ils ne soient pas "stretchable" (étirables). tu as déjà un semblant de géometrie.Sur un canvas, je crois que tu peux aussi les définir en passant par une variable ex: (define taille 24) et tu l'utilises après dans tes déclarations. Jettes un oeil, tu comprendras certainement mieux que moi, sur les programmes "mines" et "same" dans ../plt/collects/games. Si tu l'as pas, il faut le télécharger chez PLT. Vraiment intéressant. Faut quand même avouer que ces histoires de géométrie, c'est vraiment casse-bonbons, et pas seulement au début.
Voilà, si tu as compris quelque chose, dis le moi, on le repiquera pour notre topic, sinon, dit z'y aussi que je peauffine.