dinahajjar
Messages postés6Date d'inscriptionlundi 2 mars 2009StatutMembreDernière intervention 5 mars 2009
-
2 mars 2009 à 23:20
dinahajjar
Messages postés6Date d'inscriptionlundi 2 mars 2009StatutMembreDernière intervention 5 mars 2009
-
5 mars 2009 à 02:01
bonjour,
j'aimerais savoir comment permettre a l'utilisateur de dessiner une ligne reliant deux objets par leurs centres de gravite (comme l'option OSNAP dans autocad).
merci d'avance
dinahajjar
Messages postés6Date d'inscriptionlundi 2 mars 2009StatutMembreDernière intervention 5 mars 2009 3 mars 2009 à 00:25
:) ah bon!
je parle en 2D. au fait je concois un programme de distribution d'eau comme l'epanet (code a source ouverte) et je veux que l'utilisateur par un clique sur l'interface il obtient une jonction, par un 2eme clique une 2eme jonction (point) et je veux qu'il puisse lier ces jonctions par des lignes (les conduites).
dinahajjar
Messages postés6Date d'inscriptionlundi 2 mars 2009StatutMembreDernière intervention 5 mars 2009 4 mars 2009 à 23:24
bonjour de nouveau,
J'ai commence mon programme. Pour le moment j'ai commence par coder que lorsque l'utilisateur clique sur une Timage que j'ai creee, un cercle apparait.
Le probleme c'est que le cercle est decale par rapport a la position de la souris. Je n'arrive pas a savoir comment faire pour que le centre du cercle soit exactement la ou la souris a clique.
Un autre probleme est que lorsque je clique une 2eme fois le premier cercle disparait, comment faire pour qu'il reste? et pourquoi j'ai parfois bcp de cercles qui apparaissent lorsque je clique une fois?
Caribensila
Messages postés2527Date d'inscriptionjeudi 15 janvier 2004StatutMembreDernière intervention16 octobre 201918 5 mars 2009 à 01:53
Bonjour,
D'abord un conseil, Dina ( j'aime bien ton prénom ) :
quand tu as plusieurs questions, tu dois déposer plusieurs posts sur le forum.
Moi, par exemple, je m'absente demain pour quelques semaines, et ce post ne sera plus lu par les membres car trop ancien... Et personne ne t'aidera.
N'hésite donc pas à poser une question bien précise par post, et crée un nouveau thread à chaque fois.
Sinon, pour ton problème, essaie ça :
const RayonJonction = 10;
procedure TForm1.FormCreate(Sender: TObject);
begin
Image1.Canvas.FillRect(Image1.Canvas.ClipRect); //On peint le canvas du TImage en blanc.
end;
{Evénement 'OnMouseUp' de Image1.}
procedure TForm1.Image1MouseUp(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
Image1.Canvas.Ellipse(X-RayonJonction, Y-RayonJonction, X+RayonJonction, Y+RayonJonction);
//C'est ici qu'il faudra remplir ton tableau JonctionsArray...
end;
dinahajjar
Messages postés6Date d'inscriptionlundi 2 mars 2009StatutMembreDernière intervention 5 mars 2009 5 mars 2009 à 02:01
Ah merci beaucoup Caribensila pour le code!
Et merci aussi pour les conseils. Au fait je n'ai pas aime faire plusieurs posts pour que je ne remplisse pas une page moi seule lol mais je suivrais ton conseil pour mes prochains posts
Si ton absence est pour raison de vacances, alors je te souhaite de bonnes vacances!
Merci de nouveau