Voilà cette liste exhaustive des widgets de base de Tk terminée. C'est bien mais, bon, ça ne dit pas comment programmer un menu déroulant, un menu contextuel, une barre d'outils, une barre d'état, et un canvas dans lequel on peut insérer des objets via un menu contextuel, etc...
C'est ce que nous allons expliquer dans ce chapitre.
Comme pour tout langage, il est bon de modulariser un programme Tcl/Tk le plus possible. La méthode la plus simple pour y arriver est de découper son programme non seulement en fonctions mais aussi en fichiers, car on s'aperçoit vite que pas mal de modules s'avèrent utiles à plusieurs programmes (bibliothèques de widgets de haut niveau, ...).
La méthodologie conseillée est la suivante:
Créer un fichier source qui sera chargé de faire interpréter les différents fichiers Tcl/Tk utiles à l'application pour fonctionner. Pour cela utiliser la commande source nom_fichier.
Les séparateurs pour
les noms de répertoire étant différents suivant les
systèmes d'exploitation, utiliser les commandes file join,
file root, etc... (voir l'aide sur file) pour
manipuler les noms de fichier.
Il faut penser que les fichiers Tcl/Tk ne seront pas forcément
appelés du répertoire où ils se trouvent. Il est donc
nécessaire, pour trouver les fichiers utiles à l'application
(fichiers source, images...) de conserver quelque part le chemin absolu
du fichier principal en exécutant dès le lancement de l'application:
Ensuite on chargera les images utilisées par l'application, par exemple pour la barre d'outils. Si celles-ci sont dans le répertoire "images" sous le fichier principal, par exemple:
Il reste à créer les fonctions utilisées et notre
(nos) fenêtre(s). En général, nous appellerons par
raison de commodité la fonction créant la ou les fenêtres
ShowWindow. Voici à quoi elle ressemblera dans le cas général:
Les fonctions appelées peuvent être définies dans
d'autres fichiers.