AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Kreis/Linie zwischen 2 TButtons

Ein Thema von Schwedenbitter · begonnen am 5. Okt 2020 · letzter Beitrag vom 7. Okt 2020
 
Schwedenbitter

Registriert seit: 22. Mär 2003
Ort: Finsterwalde
622 Beiträge
 
Turbo Delphi für Win32
 
#1

Kreis/Linie zwischen 2 TButtons

  Alt 5. Okt 2020, 13:10
Hallo,

ich brauche beruflich immer mal wieder Stammbäume.

Zu diesem Zweck habe ich mir ein Control TPerson gebastelt, abgeleitet von TBitBtn . Darin sind zur Laufzeit jeweils die Personendaten enthalten. Diese Personen/Buttons kann ich wiederum in einer TScrollBox mit der Maus frei verschieben. Vielleicht ginge das eleganter. Aber als Hobbyprogrammierer fiel mir nichts besseres ein.
Ich habe den Code nun nach Jahren mal wieder vorgekramt.

Mein Ziel wäre es jetzt, zwischen den Buttons in Abhängigkeit der Verwandtschaft Linien zu ziehen. Zwischen 2 Verheirateten TPersons hätte ich gern einen Kreis.

Jetzt haben ich schon folgenden Code entdeckt, womit das grundsätzlich klappt:
Delphi-Quellcode:
procedure TForm1.FormPaint(Sender: TObject);
begin
   Canvas.Pen.Style:= psSolid;
   Canvas.Pen.Color:= clBlue;
   Canvas.Pen.Width:= 1;

   Canvas.MoveTo(Button1.Left + (Button1.Width div 2),
                 Button1.Top + (Button1.Height div 2));
   Canvas.LineTo(Button2.Left + (Button2.Width div 2),
                 Button2.Top + (Button2.Height div 2));
end;
Allerdings muss ich auf Änderungen reagieren. Soll heißen:
Wenn eine TPerson verschoben wird, muss die alte Linie/der alte Kreis weg und eine neue gemalt werden (auch hier).

Gibt es da Möglichkeiten/Ideen, ohne dass ich meinen Code vollständig neu programmieren muss?

Gruß, Alex
Alex Winzer
  Mit Zitat antworten Zitat
 

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:11 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz