Dessiner au premier plan et traverser des boutons.

Résolu
Ro3090 Messages postés 17 Date d'inscription lundi 15 mai 2006 Statut Membre Dernière intervention 6 décembre 2006 - 21 nov. 2006 à 06:12
Ro3090 Messages postés 17 Date d'inscription lundi 15 mai 2006 Statut Membre Dernière intervention 6 décembre 2006 - 21 nov. 2006 à 08:41
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

Ro3090 Messages postés 17 Date d'inscription lundi 15 mai 2006 Statut Membre Dernière intervention 6 décembre 2006
21 nov. 2006 à 08:41
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
3
Rejoignez-nous