AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Line über Controls zeichnen
Thema durchsuchen
Ansicht
Themen-Optionen

Line über Controls zeichnen

Offene Frage von "ralfi002"
Ein Thema von ralfi002 · begonnen am 15. Sep 2006 · letzter Beitrag vom 17. Sep 2006
Antwort Antwort
Seite 1 von 2  1 2      
ralfi002

Registriert seit: 15. Sep 2006
8 Beiträge
 
#1

Line über Controls zeichnen

  Alt 15. Sep 2006, 22:15
Tag alle zusammen,

kann mir vielleicht jemand sagen wie man eine Linie über einem Control zeichnen kann?

Wenn ich die Canvas funktion meiner Form verwende ist die Linie immer unter den controls.

Ich habe auch bemerkt das TGraphicControl Klassen auch immer unterhalb von TWinControls Klassen sind.

Mein Ziel ist es: wenn ich ein objekt auf meiner Form bewege (wo standard controls platziert sind), soll der Ursprungspunkt und die aktuelle mouse-Position mit einer linie verbunden werden. Diese Linie soll dann natürlich an oberster Ebene sein.

Thx,
Ralfi
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Line über Controls zeichnen

  Alt 15. Sep 2006, 22:17
Erzeuge eine Image mit transparenten Hintergrund welches du ganz nach oben bringst.
Markus Kinzler
  Mit Zitat antworten Zitat
Christian Seehase
(Co-Admin)

Registriert seit: 29. Mai 2002
Ort: Hamburg
11.117 Beiträge
 
Delphi 11 Alexandria
 
#3

Re: Line über Controls zeichnen

  Alt 15. Sep 2006, 22:21
Moin Ralfi,

erst einmal herzlich willkommen hier in der Delphi-PRAXiS.

Nicht, dass Du Dich wunderst:
Ich habe Deinen Doppelpost mal entfernt
Tschüss Chris
Die drei Feinde des Programmierers: Sonne, Frischluft und dieses unerträgliche Gebrüll der Vögel.
Der Klügere gibt solange nach bis er der Dumme ist
  Mit Zitat antworten Zitat
ralfi002

Registriert seit: 15. Sep 2006
8 Beiträge
 
#4

Re: Line über Controls zeichnen

  Alt 16. Sep 2006, 11:26
Danke erstaml für deine rasche Antwort (mkinzler),

aber leider funktioniert es nicht.

Das TImage control bleibt auch weiterhin unterhalb z.b. eines Buttons.

Auch wenn ich die Sichtbarkeitsreihenfolge zur Laufzeit ändere habe ich nicht den gewünschten Erflog.
Hier mein Code:
Delphi-Quellcode:
...
procedure TForm1.Button1Click(Sender: TObject);
var
  i: integer;
begin
  for i := 0 to self.ControlCount-1 do
  begin
    if self.Controls[i].Name = Image1.Name then
      self.Controls[i].BringToFront;

  end;
  Image1.Canvas.LineTo(Image1.Width, Image1.Height);
end;
...
Hast vielleicht noch eine andere Idee?

Thx,
ralfi

[edit=SirThornberry]Delphi-Tags gesetzt - Mfg, SirThornberry[/edit]
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: Line über Controls zeichnen

  Alt 16. Sep 2006, 12:23
Versuchs mal statt des Images mit ner PaintBox.
Markus Kinzler
  Mit Zitat antworten Zitat
ralfi002

Registriert seit: 15. Sep 2006
8 Beiträge
 
#6

Re: Line über Controls zeichnen

  Alt 16. Sep 2006, 12:33
Ne funktioniert auch nicht.

Ich versuchs mal mit einer von TComponent abgeleiteten Klasse. Weis jemand vielleicht welche methode ich überschreiben muss um das contol selbst zu zeichnen?

thx,
ralfi
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.861 Beiträge
 
Delphi 11 Alexandria
 
#7

Re: Line über Controls zeichnen

  Alt 16. Sep 2006, 12:37
Nimm TGraphicControl als Basisklasse, diese enthält einen Canvas.
Markus Kinzler
  Mit Zitat antworten Zitat
ralfi002

Registriert seit: 15. Sep 2006
8 Beiträge
 
#8

Re: Line über Controls zeichnen

  Alt 17. Sep 2006, 10:08
Habe gelesen das TWinControl Objekte immer über TGraphicControl Objekten gezeichnet werden.
(Das ist echt blöd )

Gibt es vielleicht einen Trick, ein TGraphicsControl Objekt doch über ein TWinControl Objekt zu zeichnen?

thx,
ralfi
  Mit Zitat antworten Zitat
Benutzerbild von Lannes
Lannes

Registriert seit: 30. Jan 2005
Ort: Münster
745 Beiträge
 
Delphi 3 Professional
 
#9

Re: Line über Controls zeichnen

  Alt 17. Sep 2006, 11:38
Hallo,

eventuell hilft Dir das weiter, der Code zeichnet ein rotes Kreutz über eine RadioGroup:
Delphi-Quellcode:
//...
  private
    FCanvas: TControlCanvas;
//...
procedure TForm1.FormCreate(Sender: TObject);
begin
  FCanvas:=TControlCanvas.Create;
  FCanvas.Control := RadioGroup1;
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  FCanvas.Free;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  FCanvas.Pen.Color := clRed;
  FCanvas.MoveTo(0,0);
  FCanvas.LineTo(RadioGroup1.Width,RadioGroup1.Height);
  FCanvas.MoveTo(RadioGroup1.Width,0);
  FCanvas.LineTo(0,RadioGroup1.Height);
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  //Kreutz entfernen
  RadioGroup1.Repaint;
end;
MfG Lannes
(Nichts ist nicht Nichts) and ('' <> nil ) and (Pointer('') = nil ) and (@('') <> nil )
  Mit Zitat antworten Zitat
mimi

Registriert seit: 1. Dez 2002
Ort: Oldenburg(Oldenburg)
2.008 Beiträge
 
FreePascal / Lazarus
 
#10

Re: Line über Controls zeichnen

  Alt 17. Sep 2006, 15:28
mit der winAPI funktion in den HADNLE des formulas müste es doch auch gehen oder ?
Michael Springwald
MFG
Michael Springwald,
Bitte nur Deutsche Links angeben Danke (benutzte überwiegend Lazarus)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 14:52 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