AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Linie, von einer Punkt zum anderen

Ein Thema von Scorpion · begonnen am 22. Nov 2005 · letzter Beitrag vom 23. Nov 2005
Antwort Antwort
Scorpion

Registriert seit: 3. Nov 2002
Ort: Flörsheim
154 Beiträge
 
Delphi 5 Professional
 
#1

Linie, von einer Punkt zum anderen

  Alt 22. Nov 2005, 17:19
Hallo,

ich suche nach einer Möglichkeiten, eine Linie in mein Programm zu zeichnen. Das das mit Canvas geht ist mir klar. Jedoch lässt sich die Linie ja dann nicht mehr mit Drag und Drop verschieben.

ich würde das gerne in einer Art Visio machen. Also ich will die Linie mit einem Object verbinden und wenn ich das Object ziehe soll sich die Linie mitziehen, weiss jemand wie ich vorgehen kann.

Gruß
Nico

P.S. Sorry, mit Object meine ich eine ganz normale Komponente in Delphi, wie ein TImage etc...
  Mit Zitat antworten Zitat
Benutzerbild von hanselmansel
hanselmansel

Registriert seit: 23. Feb 2005
Ort: Kaiserslautern
279 Beiträge
 
Delphi 2009 Enterprise
 
#2

Re: Linie, von einer Punkt zum anderen

  Alt 22. Nov 2005, 17:26
HiHo,

Ich habe zwar keine Ahnung, was du für ein Objekt meinst, aber deine Linie könnest du evtl. in einer - von TWinControl abgeleiteten - Komponente kapseln.
Wenn du das Objekt dragst, musst du nur die Linien-Komponente verschieben, und dieser kannst du ebenfalls eine Drag'n Drop-Funktion verpassen.

MfG,

hanselmansel
Es gibt nur sehr wenige Probleme auf dieser Welt, die sich nicht mit einigen hundert Gramm Sprengstoff lösen ließen.
  Mit Zitat antworten Zitat
Pfoto

Registriert seit: 26. Aug 2005
Ort: Daun
541 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: Linie, von einer Punkt zum anderen

  Alt 22. Nov 2005, 17:46
Hi,

mir fällt spontan ImageEn von HiComponents ein.
Dort gibt es ein erweitertes Image, das auch Verktor-Objekte aufnehmen kann (darunter war auch ein Demo mit Pfeilen)
Eine komplexere Funktionalität wie z.B. in Visio müsstest du natürlich noch einprogrammieren... Aber mit ImageEn hättest du ja schonmal ne Basis.



Gruß
Pfoto
Jürgen Höfs
  Mit Zitat antworten Zitat
Benutzerbild von arbu man
arbu man

Registriert seit: 3. Nov 2004
Ort: Krefeld
1.108 Beiträge
 
Delphi 7 Professional
 
#4

Re: Linie, von einer Punkt zum anderen

  Alt 22. Nov 2005, 18:10
Delphi-Quellcode:
TALine = class (TCustomControl)
    constructor Create(AOwner: TComponent);
    procedure MoveControl(Sender: TObject; Button: TMouseButton;
      Shift: TShiftState; X, Y: Integer);
  protected
    procedure Paint;override;
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  published
end;

...

constructor TALine.Create(AOwner: TComponent);
var i:integer;
begin
  inherited Create(AOwner);
  self.OnMouseDown:= MoveControl;
  self.Width:=100;
  self.Visible:=true;
  self.Height:=5;
end;

procedure TALine.Paint;
var
  i:integer;
  s:string;
  save:tcolor;
begin
  inherited;
  //save:=self.Canvas.Brush.Color;
  self.Canvas.Brush.Color:=clblack;
  self.Canvas.FillRect(Rect(0,0,self.Width,self.Height));
  //self.Canvas.Brush.Color:=save;
end;

procedure TALine.MoveControl(Sender: TObject; Button: TMouseButton;
  Shift: TShiftState; X, Y: Integer);
begin
  if ssCtrl in Shift then begin
    ReleaseCapture;
    (Sender as twincontrol).perform(WM_SysCommand, $F012, 0);
  end;
end;
Das sollte eine 5px dicke schwartze Line mit einer Weite von 100px zeichnen die mit der Strg und der Maus Verschiebbar ist.
Björn
>> http://bsnx.net <<
Virtual DP Stammtisch v1.0"iw" am 19.09.2007 - ich war dabei!
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#5

Re: Linie, von einer Punkt zum anderen

  Alt 22. Nov 2005, 18:12
Und eine schräge Linie?
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
Benutzerbild von arbu man
arbu man

Registriert seit: 3. Nov 2004
Ort: Krefeld
1.108 Beiträge
 
Delphi 7 Professional
 
#6

Re: Linie, von einer Punkt zum anderen

  Alt 22. Nov 2005, 18:14
Delphi-Quellcode:
self.Canvas.MoveTo(0,0);
self.Canvas.LineTo(self.Width,self.Height);
Björn
>> http://bsnx.net <<
Virtual DP Stammtisch v1.0"iw" am 19.09.2007 - ich war dabei!
  Mit Zitat antworten Zitat
alzaimar
(Moderator)

Registriert seit: 6. Mai 2005
Ort: Berlin
4.956 Beiträge
 
Delphi 2007 Enterprise
 
#7

Re: Linie, von einer Punkt zum anderen

  Alt 23. Nov 2005, 07:34
Mit Anfassern, sodass man sie draggen kann? Das war, glaube ich, die ursprüngliche Frage. Da kommt man so aber nicht weiter.
"Wenn ist das Nunstruck git und Slotermeyer? Ja! Beiherhund das Oder die Flipperwaldt gersput!"
(Monty Python "Joke Warefare")
  Mit Zitat antworten Zitat
Scorpion

Registriert seit: 3. Nov 2002
Ort: Flörsheim
154 Beiträge
 
Delphi 5 Professional
 
#8

Re: Linie, von einer Punkt zum anderen

  Alt 23. Nov 2005, 08:49
Ja, das stimmt, gibt es denn keine generelle Komponente, die ihr kennt ? Ansonsten ist die Canvas Methode halt die einzige...
  Mit Zitat antworten Zitat
Antwort Antwort


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 15:46 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