AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Delphi Suche Pfeile zur Visualisierung von Beziehungen
Thema durchsuchen
Ansicht
Themen-Optionen

Suche Pfeile zur Visualisierung von Beziehungen

Offene Frage von "torud"
Ein Thema von torud · begonnen am 14. Aug 2007 · letzter Beitrag vom 25. Aug 2007
Antwort Antwort
Seite 1 von 4  1 23     Letzte »    
torud

Registriert seit: 26. Jul 2002
Ort: Sachsen
1.198 Beiträge
 
Delphi XE5 Professional
 
#1

Suche Pfeile zur Visualisierung von Beziehungen

  Alt 14. Aug 2007, 12:21
Hallo Wissende,

ich habe ein kleines Tool, mit dem sich XP-Buttons oder ähnliche Inhaltsträger erstellen kann, um Gruppen anzulegen. Diese werden dann einfach mit der Caption befüllt und so verschoben wie man sich die Struktur eines Unternehmens o.ä. vorstellt. Um diese nun noch in Beziehungen zu bringen suche ich noch eine Komponente, die mir verschiedene Pfeile bietet, die zumindest einige Anpassungen ermöglicht, wie z-b.:

Farbe,
Grösse,
Drehwinkel,
Pfeilgrösse und
Dicke...

Irgendwie konnte ich nicht wirklich was finden. Das was ich bei Torry gefunden habe, war nicht Live-Tauglich, also nicht z.b. nicht drehbar. Wenn man die Pfeile an die Buttons oder andere Controls andocken könnte wäre das auch cool.
Danke
Tom
  Mit Zitat antworten Zitat
Benutzerbild von RavenIV
RavenIV

Registriert seit: 12. Jan 2005
Ort: Waldshut-Tiengen
2.875 Beiträge
 
Delphi 2007 Enterprise
 
#2

Re: Suche Pfeile zur Visualisierung von Beziehungen

  Alt 14. Aug 2007, 12:53
Wenn's was kosten darf:
ExpressOrgChart Suite
$129.99 with full source code, $89.99 without full source code

http://www.devexpress.com/Products/V...hart/Index.xml
Klaus E.
Linux - das längste Text-Adventure aller Zeiten...
Wer nie Linux mit dem vi konfiguriert hat, der hat am Leben vorbei geklickt.
  Mit Zitat antworten Zitat
torud

Registriert seit: 26. Jul 2002
Ort: Sachsen
1.198 Beiträge
 
Delphi XE5 Professional
 
#3

Re: Suche Pfeile zur Visualisierung von Beziehungen

  Alt 14. Aug 2007, 13:34
Danke für Deinen Tipp! Leider war das nicht das, was ich suche, da die nur das bieten, was ich schon habe. Ich brauche einfach nur die Pfeile, um die Beziehungen selbst dazwischen herstellen zu können. Ich könnte das zwar auch mit tranparenten PNG-Pfeilen machen, aber dann kann der Kunde nicht FREI drehen, sondern muss das Bild über eine Trackbar ändern. Das ist ziemlich umständlich und dauert manchmal auch zu lange...

Gibt es noch andere Möglichkeiten?
Danke
Tom
  Mit Zitat antworten Zitat
Ghostwalker

Registriert seit: 16. Jun 2003
Ort: Schönwald
1.299 Beiträge
 
Delphi 10.3 Rio
 
#4

Re: Suche Pfeile zur Visualisierung von Beziehungen

  Alt 14. Aug 2007, 13:46
Spontan würd ich sagen, selber zeichnen Das sollte nicht zu schwer sein. Du brauchst lediglich eine Zeichenfläche (dürfte das Fenster sein auf dem die Buttons sind), sowie anfangs und endpunkte.
Uwe
e=mc² or energy = milk * coffee²
  Mit Zitat antworten Zitat
torud

Registriert seit: 26. Jul 2002
Ort: Sachsen
1.198 Beiträge
 
Delphi XE5 Professional
 
#5

Re: Suche Pfeile zur Visualisierung von Beziehungen

  Alt 14. Aug 2007, 14:07
Ok, da ich da noch nicht ganz durchsteige füge ich mal noch folgende Infos hinzu. Die Buttons, Panels und Gradients sind alles TControls, die auf einer TScrollbox platziert werden und live verschoben werden können. Ich brauche also einen oder mehrer Pfeile, welche ich dieser Scrollbox hinzufügen kann, die möglich auch von TControl kommen, damit ich diese auch ansprechen, verschieben und zur Laufzeit noch drehen und sonstwie ändern kann.

Wie könnte also Dein Ansatz da funktionieren?
Danke
Tom
  Mit Zitat antworten Zitat
Ghostwalker

Registriert seit: 16. Jun 2003
Ort: Schönwald
1.299 Beiträge
 
Delphi 10.3 Rio
 
#6

Re: Suche Pfeile zur Visualisierung von Beziehungen

  Alt 14. Aug 2007, 16:37
Als Ansatz würde sich da TGraphicsControl anbieten. Zwei Punktkoordinaten für Anfangs- und Endpunkt als zusätzliche Propertys. und dann auf den Canvas entsprechend Pinseln. Die Position und Höhe und Breite haste automatisch mit dabei.
Uwe
e=mc² or energy = milk * coffee²
  Mit Zitat antworten Zitat
torud

Registriert seit: 26. Jul 2002
Ort: Sachsen
1.198 Beiträge
 
Delphi XE5 Professional
 
#7

Re: Suche Pfeile zur Visualisierung von Beziehungen

  Alt 14. Aug 2007, 18:22
Hört sich gut an und liest sinnvoll, aber ich damit noch 0-Erfahrung und in diesem Forum waren NUR 5 Threads zum Thema TGraphicsControl zu finden. Naja, da werde ich wohl noch etwas googlen müssen. Ich hoffe nur, dass ich den gezeichneten Pfeil noch anklicken und verschieben kann!?
Danke
Tom
  Mit Zitat antworten Zitat
oki

Registriert seit: 30. Dez 2002
Ort: Brandshagen
1.819 Beiträge
 
Delphi 2007 Professional
 
#8

Re: Suche Pfeile zur Visualisierung von Beziehungen

  Alt 14. Aug 2007, 19:37
Hi,

ich hatte aktuell ein ähnliches Problem. Meine Verbinder sollen zwar nicht schräg laufen, dafür aber mehrere Ecken haben. Ich hab es mit TGraphicControl probiert. Dann auf TCustomControl geändert. Hier meine Erfahrungen:

TGraphicControl:
Vorteile:
- Hintergrund ist schon transparent,
Nachteile:
- kein Focus
- Größenänderung nicht mit Perform machbar
- nicht durchklickbar

TCustomControl:
Vorteile:
- alle meine anderen Visuellen Elemente sind von TCustomControl abgeleitet (gemeinsamme Basisklasse für Grundfunktionen Selektieren Größe ändern ...)
- Fokus kann gewechselt werden (DoEnter, DoExit)
Nachteile:
- Hintergrund nicht transparent
- nicht durchklickbar


Gelöst habe ich die Themen:
- Größenänderung machbar
- durchklickbar


Bsp.:
siehe Anhang
Miniaturansicht angehängter Grafiken
pfeile_179.jpg  
42
  Mit Zitat antworten Zitat
torud

Registriert seit: 26. Jul 2002
Ort: Sachsen
1.198 Beiträge
 
Delphi XE5 Professional
 
#9

Re: Suche Pfeile zur Visualisierung von Beziehungen

  Alt 15. Aug 2007, 08:26
Hallo,

das sieht schon eher nach dem aus, was ich suche. Also ich will ehrlich sein. Ich habe keine Ahnung, wie Du das realisiert hast, aber könntest du mir ein kleinen Happen zum Frühstück reichen? Nicht alles, einfach nur einen Anfang, da ich wirklich nicht weiss, wie es losgehen soll.

Ich suche hier mal im Forum weiter danach, vielleicht finde ich ja was passendes...
Danke
Tom
  Mit Zitat antworten Zitat
oki

Registriert seit: 30. Dez 2002
Ort: Brandshagen
1.819 Beiträge
 
Delphi 2007 Professional
 
#10

Re: Suche Pfeile zur Visualisierung von Beziehungen

  Alt 15. Aug 2007, 11:08
Hi torud!

Mein ansatz war folgender.

Ich benötige mehrere unterschiedliche Komponenten, die zur Laufzeit in einer ScrollBox erstellt und bearbeitet werden können. Dazu zählen verschiedenste Komponenten für spezielle Zwecke. Unter anderem sollen diese Elemente in Gruppenboxen angeordnet sein. Im Bild ist zum Bsp. Mein Label mit den entsprechenden Verbindern in einer Gruppenbox zu sehen. Damit ich von "außen" (Hauptprogramm) alle einheitlich suchen oder ansprechen kann, hab ich mir eine Basisklasse geschrieben, in der meine Grundfunktionen enthalten sind.

Delphi-Quellcode:
  TBaseCustomControl = class(TCustomControl)
  private
    FCaption: String;
    FMoveable: Boolean; // Control verschiebbar
    FOnItemSelected: TNotifyEvent;
    FSelected: Boolean; // Control selectiert
    FShowMode: TSeyShowMode; // Anzeige für Programm-/Designdarstellung
    procedure SetCaption(const Value: String);
    procedure SetSelected(const Value: Boolean);
  protected
    procedure CreateWnd; override;
    procedure DoEnter; override;
    procedure DoExit; override;
    procedure GetChildren(Proc: TGetChildProc; Root: TComponent); override;
    procedure Paint; override;
    procedure SetFirstName;
    procedure SetName(const Value: TComponentName); override;
    procedure SetShowMode(const Value: TSeyShowMode); virtual;
  public
    Constructor Create(AOwner: TComponent); override;

    property Caption : String read FCaption write SetCaption;
    property Color;
    property Font;
    property Moveable : Boolean read FMoveable write FMoveable;
    property OnItemSelected : TNotifyEvent read FOnItemSelected write FOnItemSelected;
    property Selected : Boolean read FSelected write SetSelected;
    property ShowMode : TSeyShowMode read FShowMode write SetShowMode;
  published
    procedure DoItemSelected(Sender : TObject); virtual;
  end;
Von dieser Basisklasse leite ich dann meine weiteren Controls ab. Ein wesentlicher Unterschied zwischen meinen Connectoren und den anderen Elementen (z.B. Label) ist, dass der Connector über die Eckpunkte in seiner Größe verändert wird. Eckpunkt greifen und verschieben. Zwischen zwei Eckpunkten gibt es z.B. horizontale und vertikale Zugpunkte um die entsprechende Teillinie mit ihren Eckpunkten zu verschieben. Da hab ich recht lange dran gesessen.
Bei den Labels ist es einfacher, Dort kann ich durch Ziehen der äußeren Eckpunkte die Größe ändern. Den Code dazu findest du hier im Forum.

Um das zu verdeutlichen hab ich noch mal was in den Anhang gelegt.

Bei den Connectoren entstand zusätzlich das Problem, dass das Control ein Viereck ist, aber nur die Linien sichtbar sein sollen. Geht also ein Verbinder von links oben nach rechts unten, so würde er alle anderen Elemente verdecken (optisch und für Maus-Aktionen). Suche im Forum nach "durchklickbar", dann findest du entsprechende Beispiele für die Verwendung von Ranges.

Ich helfe dir gerne bei deinem Problem, möchte aber nicht den kompletten Code hier posten. erstens habe ich das Projekt nicht als open Source angelegt, zweitens ist auch noch nicht alles fertig.
Funktionen wie:
- Ausrichten am Gitter
- Fixieren an anderen (meinen) Controls
- Verbindung von Eingangs-/Ausgangs-Gates
- Anzeige und Bearbeitung von Eigenschaften

sind nicht oder nur teilweise umgesetzt. Arbeite ich halt dran.

Gruß oki
Miniaturansicht angehängter Grafiken
label_676.png   panelprops_114.jpg   connector_114.jpg  
42
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 4  1 23     Letzte »    


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 02:21 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz