Dessiner au premier plan et traverser des boutons.

Résolu
Signaler
Messages postés
17
Date d'inscription
lundi 15 mai 2006
Statut
Membre
Dernière intervention
6 décembre 2006
-
Messages postés
17
Date d'inscription
lundi 15 mai 2006
Statut
Membre
Dernière intervention
6 décembre 2006
-
Bonjour,

J'ai une application qui affiche un certain nombre de boutons et ceux-ci sont reliés entre eux par des connections. En gros c'est une sorte de graphe de bouton.
Mes boutons sont ovales et sont dessinés via des régions rectangulaires. Mes connections sont des lignes toutes simples tracées en gdi.

J'ai un problème avec mes connections car elles passent sous mes boutons et font apparaître les régions rectangulaires sur lesquelles mes boutons sont dessinés et c'est pas trop ce que je veux.
J'aimerais savoir comment je peux dessiner au premier plan pour ne pas dessiner en dessous de mes controls et ainsi ne pas faire apparaître le contour de mes régions.

Je sais dessiner dans  mes controls mais c'est pas trop ce que je veux. Du coup, en ce moment j'essaie d'éviter le problème de mes régions rectangulaire en faisant des régions ovales (elliptiques) mais je n'y suis pas encore arrivé.

Voilà si vous avez une petite idée, je suis preneur.

Merci d'avance

Ro  

1 réponse

Messages postés
17
Date d'inscription
lundi 15 mai 2006
Statut
Membre
Dernière intervention
6 décembre 2006

Je me répond à moi même. J'ai continué à chercher du côté des régions et j'arrive maintenant à dessiner des régions ovales (ou elliptique). Donc en fait je calque mes controles ovales sur des régions ovales et le tour est joué.
Je devrais pouvoir maintenant dessiner avec le gdi et lier mes contrôles entre eux sans avoir une région rectangulaire avec une couleur horrible qui ressort.

Pour info, on peut faire des régions de n'importe quelle forme en utilisant les GraphicsPath:

GraphicsPath p = new GraphicsPath(); //on définit une "forme"
           
     p.AddEllipse(0, 0, 105, 47); //on ajoute l'ellipse--> on crée la région elliptique
           
     this.Region = new Region(p); //on transforme notre "forme" en région.

Ro