• Aucun résultat trouvé

TP 4Interfaces visuelles – Menus – Tracé de dessin (suite)Boîtes de dialogue

N/A
N/A
Protected

Academic year: 2022

Partager "TP 4Interfaces visuelles – Menus – Tracé de dessin (suite)Boîtes de dialogue"

Copied!
1
0
0

Texte intégral

(1)

Licence Informatique Interface Homme Machine

TP 4

Interfaces visuelles – Menus – Tracé de dessin (suite) Boîtes de dialogue

Travail personnel

1. Compléter l’application IHM vue en TD, pour gérer une forme géométrique complémentaire (par exemple un triangle ou un losange …).

2. Compléter l’application IHM pour ajouter une option de menu « Taille » avec 3 sous-options « Petit »

« Moyen » « Grand ». Ces options permettront de choisir une taille courante pour les objets à dessiner parmi 3 en appliquant le même principe de choix que pour les couleurs et les formes. On pourra ajouter une variable m_taille (entier) dans CIHMDoc pour gérer cette taille.

3. Mise en surbrillance.

On souhaite compléter l’application IHM pour permettre une mise en surbrillance (changement de la couleur) de l’élément qui est sous la souris lorsque l’utilisateur déplace la souris sur le dessin.

Le gestionnaire OnMouseMove peut détecter constamment l’emplacement du curseur. On modifiera alors le code de ce gestionnaire pour faire en sorte que, s’il y en a un élément sous le curseur, il soit toujours mis en surbrillance.

On pourra travailler de la manière suivante :

L’opération de mise en surbrillance en elle-même peut être assurée par les méthodes Draw des éléments. On va donc modifier cette méthode (dans chacune des classes Ligne, Rectangle, Cercle, … en lui transmettant en paramètre l’élément qui est sous le curseur de la souris ou NULL. Si l’élément courant est égal à l’élément sous le curseur alors il doit se dessiner d’une couleur spécifique, sinon il se dessine dans sa couleur normale.

o virtual void Draw(CDC* pDC, CElement* pElement)

On ajoute une méthode dans la classe CIHMView qui permet la recherche de l’élément sous le curseur. Cette méthode prend en paramètre la position de la souris (CPoint) et retourne soit l’élément trouvé, soit NULL. On pourra utiliser une méthode de la classe MFC CRect : PtInRect qui permet de tester si un point est dans un rectangle (de type CRect).

o BOOL CRect :: PtInRect( POINT point )

Le principe de recherche pourra être le suivant : on parcourt la liste des éléments et pour chaque élément on regarde si le point (souris) appartient au rectangle englobant de l’élément.

Si oui, on retourne cet élément, si aucun élément n’est trouvé on retourne NULL.

o CElement * CIHMView :: SelectElement (CPoint point)

On définit le code du gestionnaire OnMouseMove. A chaque mouvement souris, on cherche l’élément sélectionné, s’il est différent de l’ancien, on doit redessiner l’ancien élément dans sa couleur normal (s’il y avait un élément sélectionné), et redessiner le nouveau en surbrillance (s’il n’est pas nul).

Travail sur le TD5

Selon votre groupe, si vous avez déjà fait le TD5 en TD, vous pouvez commencer l’implémentation des boîtes de dialogues (simples et à onglets).

Références

Documents relatifs

Pré-requis : l’objectif des premières séances de TP est de faire le point sur des fonctionnalités impor- tantes de Scilab qui ont été vues en première année.. Je vous invite

médiane : Soit une population ordonnée selon les valeurs croissantes d'un caractère quantitatif, la médiane de cette série statistique est la valeur qui sépare la population en

Ceci veut dire que tous les mots de cette langue reconstituée n'étaient pas forcément ceux employés par les anciens Bretons ou Gaulois proprement dits mais très proches car typiques

En vous aidant du cours, construire une « Application MFC » nommée IHM avec une architecture document/vue, avec une interface SDI et compléter

Ajoutez à la boîte de dialogue à onglet (avec les formes et les couleurs), un onglet complémentaire pour sélectionner l’épaisseur du trait4. Implémentez l’option

Fonctionnement d'une pile La structure de pile permet de retrouver les éléments dans l'ordre inverse de 1 Une structure de file permet de retrouver les éléments dans l'ordre où

b) Sur un tas binaire, écrivez l'algorithme d'un traitement récursif propMax(i) permettant d'assurer qu'à partir de l'indice i chaque élément du tableau est

BTS CG 1ére Année Fiche n°1 : Informations chiffrées Calculer et utiliser une proportion1. Ce qu’il faut