Graphcontainer - container pour modélisation de schéma graphique

Soyez le premier à donner votre avis sur cette source.

Vue 16 663 fois - Téléchargée 1 611 fois

Description

Projet permettant la modélisation d'objets et de liaisons inter-objets.
Les différents éléments implémentent bulle d'aide, menu contextuel et déplacement dynamique.

Le problème posé par les lignes a été contourné par la création de rectangles dont les diagonales sont dessinées.
Un objet graphique pour celles-ci ne pouvait être envisagé. En effet, un objet graphique dont la propriété BackColor est égale à Color.Transparent applique cette transparence uniquement sur son container. Cela signifie que les lignes ne pourraient pas se superposer...
La résolution passe par la consultation des objets de type ligne (non graphiques) par le container lui-même. Ce dernier fournit son objet Graphics à chacune des lignes pour mettre à jour l'affichage.
La détermination des points d'ancrage s'effectue sur la base d'un algorithme sur 8 zones autour d'un objet de référence.

Le déplacement des objets est effectué par la surcharge de l'événement OnMouseMove et l'emploi de la simulation de déplacement sur barre de titre :

if (e.Button == MouseButtons.Left)
{
ReleaseCapture();
SendMessage(Handle, WM_NCLBUTTONDOWN, HTCAPTION, IntPtr.Zero);
}

Le container GraphContainer fournit enfin des méthodes pour suspendre ou rétablir le rafraîchissement : BeginUpdate() et EndUpdate().

Bonne utilisation.

AOGie

Conclusion :


Ce projet a été réalisé pour répondre à l'attente de simjul :
-> Graphisme dynamique et interactif avec gdi+ c# en applet .Net Posté par : simjul le 21/06/2005 00:01:24

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

aogie
Messages postés
108
Date d'inscription
vendredi 11 juillet 2003
Statut
Membre
Dernière intervention
27 novembre 2007
-
Pour éviter le scintillement, ajouter SetStyle(ControlStyles.OptimizedDoubleBuffer) au constructeur du contrôle.
polojpfcs
Messages postés
2
Date d'inscription
jeudi 21 décembre 2000
Statut
Membre
Dernière intervention
24 mars 2009
-
génial, application très bien réalisée, bravo!

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.