1

Bonsoir,
Dans mon programme j'utilise un menu dynamique (comme l'exemple dans la doc -> http://tigcc.ticalc.org/doc/menus.html#DynMenuAdd)
J'utilise ceci pour récupérer la section actuelle :

do
{
key = ngetchx ();
quit = menu (MenuKey (exec_handle, key), &options);
}while (!quit && key != KEY_ESC);

avec quit un boolean, et menu une fonction avec un switch, qui appelle des fonctions suivant la selection du menu.
Mon problème est que ces fonctions ont besoins pour la mise en forme d'appeler clrscr(), qui efface tout l'écran. Ainsi quand la fonction se termine, mon menu est toujours là mais plus visible sad
Dois-je refaire un MenuEnd au début de la fonction puis un MenuBegin à la fin ? Ou existe-t-il une autre méthode ?

Une autre question, j'ai une image où j'ai laissé un rectangle blanc pour écrire du texte, quand je veux changer de texte il faut bien sûr effacer ce qui est écrit dans ce carré.
Y-a-t-il une fonction pour effacer une partie de l'écran ou alors il faut que je dessine un rectangle par dessus ?

Merci d'avance smile

2

Je pense que pour ton premier problème t'es obligé de réafficher ton Menu vu qu'il a été effacé.

Pour ton deuxième problème, je crois effectivement que tu est obligé de dessiner un rectangle blanc par-dessus
(ou à la limite, écrire avec la fonction que tu veux la chaine de charactères : " " par dessus mais je pense
que c'est hyper lent smile )

3

Au lieu d'utiliser clrscr, utilise ScrRectFill avec un rectangle qui ne touche pas le menu, puis MoveTo. (Et comme les coordonnées dépendent de la taille de l'écran, je te conseille de tester dans un émulateur avec un modèle avec l'autre taille de l'écran. Il y a 160×100 pour les TI-89 et TI-89 Titanium et 240×128 pour les TI-92 Plus et Voyage 200. Cf. aussi PSEUDO_CONST_SCREEN.)
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité