Programmation avancée avec MIDlet Pascal


précédentsommairesuivant

Comment créer une interface utilisateur ?

Les menus

Nous avons vu dans l'exemple de la partie précédente comment faire un menu de navigation en dessinant, et en gérant les appuis sur certaines touches. Notez qu'on peut s'en passer et faire un menu simple en utilisant menuAppendString ou menuAppendStringImage.
Exemple

 
Sélectionnez
var hanoi, puzzle, snake : integer; 
    jeu : command;    

begin 
  showMenu('Selectionner le jeu', CH_IMPLICIT); 
     
  hanoi  := MenuAppendString('Hanoi'); 
  puzzle := MenuAppendString('Puzzle');
  {Il y a la possibilité de mettre une image dans la liste des menu}
  snake  := MenuAppendStringImage('Snake', loadImage('/icon.png')); 

  jeu := CreateCommand('Jouer', CM_SCREEN, 1); 
  AddCommand(jeu); 

  repeat 
     delay(100); 
  until getClickedCommand = jeu; 
 
end.

Vous pouvez également envoyer des messages d'alertes à l'utilisateur sous certaines conditions. Un cas d'utilisation serait : tant que l'utilisateur n'aura pas sélectionné le menu 'Hanoi' on lui enverra un message d'alerte en utilisant showAlert

Les formulaires

Les formulaires peuvent s'avérer nécessaires si vous voulez faire remplir des champs, par exemple, par un utilisateur de votre application. Il est évident que l'utilisation des fonctions de touches comme getKeyClicked ne vous aiderait pas, il faut donc quelque chose de plus approprié, un peu comme les boîtes de dialogue sur les plateformes PC.

Avant d'afficher les éléments du formulaire, il faut changer de mode en utilisant showForm.
Il existe principalement deux modes, un peu comme on dirait en Pascal standard, le mode graphique et le mode texte ou console. Ici quand on utilisera les éléments de formulaire il faudra ensuite utiliser showForm pour qu'ils soient visibles à l'écran.
Exemple

 
Sélectionnez
var label, textField: integer;  
begin 
    label := formAddString('Bonjour');  
    textField := formAddTextField('pseudo', 'krachik', 20, TF_ANY);  
    showForm;  
    delay(2000);  
end.

Si vous êtes dans ce mode, vous pouvez changer de mode si vous voulez dessiner par exemple un texte à l'écran en utilisant la procédure showCanvas.

 
Sélectionnez
var label, textField: integer; 
begin 
    label := formAddString('Bonjour'); 
    textField_id := FormAddTextField('pseudo', 'krachik', 20, TF_ANY); 
    showForm; 
    delay(2000); 
    showCanvas; 
    drawText('Hello world', 0, 0); 
    repaint; 
    delay(2000); 
end.

Si vous faites un programme pour juste dessiner un texte par exemple, vous n'avez pas besoin d'utiliser showCanvas.


précédentsommairesuivant

Vous avez aimé ce tutoriel ? Alors partagez-le en cliquant sur les boutons suivants : Viadeo Twitter Facebook Share on Google+   

  

Les sources présentées sur cette page sont libres de droits et vous pouvez les utiliser à votre convenance. Par contre, la page de présentation constitue une œuvre intellectuelle protégée par les droits d'auteur. Copyright © 2010 AKAKPO-TOULAN Jules. Aucune reproduction, même partielle, ne peut être faite de ce site ni de l'ensemble de son contenu : textes, documents, images, etc. sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à trois ans de prison et jusqu'à 300 000 € de dommages et intérêts.