	6 . Les squelettes de base



Ce sont les squelettes tout prts  l'emploi pour vos applications. Le droulement normal de 
cration d'un programme en V.A. veut que vous commenciez par choisir le bon squelette, que 
vous recopiez sont rpertoire dans votre rpertoire source en changeant les noms project.xxx. 
Le choix du squelette est important, et vous fera gagner beaucoup de temps si vous choisissez 
le bon du premier coup !


	6.1 TOS-TTP

Ce squelette est destin aux applications qui n'ont pas besoin du systme d'vnements 
GEM, donc typiquement pour les programmes en AUTO ou des TSR (Terminate and Stay 
Resident). L'emploi du V.A. prsente alors peu d'intrt pour ce genre de projet, si ce n'est 
pour les librairies annexes.
Un exemple peut tre trouv dans VISUAL41\SAMPLES\TOS_ONLY\.


	6.2 APP-PRG-GTP

Ce squelette est destin aux applications GEM standard avec en gnral un menu et des fe-
ntres ; il ne marchera pas en accessoire, donc pas de AC_OPEN, AC_CLOSE, 
VA_START. Ce sont des programmes qui ncessitent un menu ou qui sont trs gros !
Un exemple peut tre trouv dans VISUAL41\SAMPLES\APP_ONLY\.


	6.3 ACC

Ce squelette est destin aux applications GEM qui ne marchent qu'en accessoire ; elles sont 
rares. Citons par exemple un screen saver qui fait appel  un TSR pour compter le temps et 
qui doit forcment marcher en parallle d'une autre application. Avec un systme multi-tche, 
autant prendre le squelette suivant, ce sera plus souple. Avec ce squelette vous ne recevrez pas 
de AP_TERM. En fait vos seuls messages seront AC_OPEN et AC_CLOSE.
Un exemple peut tre trouv dans VISUAL41\SAMPLES\ACC_ONLY\.


	6.4 ACC-APP-PRG-GTP

Ce squelette est la runion des deux prcdents et prsente toutes les qualits pour en faire 
votre squelette classique de dmarrage. Tous les types de messages peuvent tre envisags. 
S'il est envoy en tant qu'accessoire, le menu, s'il y en a un,  ne sera pas visible en haut de 
l'cran mais dans la fentre d'info, les raccourcis resteront disponibles (ctrl+Q, ctrl+I ...).
Ce type d'application est typiquement une application qui, quand elle se lance, ouvre une 
fentre, et dont les menus sont des doubles des fonctions disponibles par boutons interposs 
(un visualiseur d'images par exemple).
Un exemple peut tre trouv dans VISUAL41\SAMPLES\ACC_APP.MNU\.

Ce squelette possde un jumeau un peu plus simple, trs pratique pour une toute petite ap-
plication : il est identique au prcdent mais sans les menus. Il marche aussi bien en program-
me qu'en accessoire et le comportement est strictement identique dans les 2 cas : il ouvre une 
fentre de commande sans menu. Seul "dsavantage", s'il est lanc en tant que programme, 
comme il n'a pas de menu, les accessoires ne seront pas disponibles sous un systme mono-ta-
che. Par contre les excutables seront plus petits car ils ne comporteront ni menu GEM ni me-
nu dans les fentres !
Un exemple peut tre trouv dans VISUAL41\SAMPLES\ACC_APP.WIN\.


	6.5 Multi documents

Ce squelette est rserv aux applications qui traitent un type de donnes spcifique (typi-
quement : images, textes ...) et qui peut ouvrir plusieurs documents de ce type en mme temps 
(un visualiseur d'images par exemple). Avec ces applications, on fera souvent usage des 
USER_PTR 1&2 qui permettent de lier une structure  une fentre et de traiter chaque docu-
ment de faon transparente en mettant toutes les routines d'vnements (par ex. WM_CLO-
SE) sur le mme de code.
La technique de base du multi-fentrage est la recopie d'une structure de fentre de base 
dans une zone mmoire rserve par un MALLOC. Cette mthode impose donc que toutes 
les adresses de la structure de la fentre de base soient relatives  cette structure. Une fois la 
recopie effectue, il ne reste donc plus qu' reloger " la main" les quelques pointeurs de la 
structure copie.
Vous avez un premier exemple dans VISUAL41\SAMPLES\MULTIDOC\BITMAP pour 
une application qui cre des fentres contenant du dessin bitmap.
Vous avez un deuxime exemple dans VISUAL41\SAMPLES\MULTIDOC\FORM : clo-
nage d'un mme formulaire dans plusieurs fentres.
Pour une application plus volue de l'utilisation du multi document, le meilleur exemple 
est le programme LOOK.
Ce type de programmation ncessite l'utilisation des mthodes de clonage dfinies au para-
graphe 9.2.3 et ventuellement les mthodes pour le multi-formulaire du paragraphe 9.4.2.
