![]() |
Punkte in einer Paintbox beschriften?!
Hallo,
Ich habe in der Schule eine Aufgabe bekommen, dass ich in einer Paintbox 4 Zufällig positionierte Ellipsen eintragen soll, die 1. halt eine unterschiedliche Lage besitzen, 2. eine unterschiedliche Farbe und 3. deren Bezeichnung unter ihnen erscheint. Die ersten 2 Aufgaben habe ich gelöst, doch bei der 3ten tappe ich im Dunkeln. Ich habe es mit einem Label versucht, doch das wird nich angezeigt, oder vielleicht auch von der Paintbox überdeckt, ich weiss es leider nicht. Hier ma mein Quelltext:
Delphi-Quellcode:
Wäre nett wenn mir einer auf die sprünge helfen könnte.
unit Unit1;
interface uses Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls; type TPoint = Record x,y : LongInt; end; TForm1 = class(TForm) PaintBox1: TPaintBox; Button1: TButton; procedure Button1Click(Sender: TObject); private { Private-Deklarationen } public { Public-Deklarationen } end; var Form1: TForm1; Karte : array[1..4] of TPoint; implementation {$R *.DFM} procedure TForm1.Button1Click(Sender: TObject); var x,y,z : Integer; ortsname : TLabel; begin Paintbox1.Refresh; Randomize; For z := 1 to 4 do begin x := Karte[z].x; y := Karte[z].y; x := Random(Paintbox1.Width); y := Random(Paintbox1.Height); PaintBox1.Canvas.Pen.Color := RGB(random(256), random(256), random(256)); PaintBox1.Canvas.Ellipse(x-2,y-2,x+2,y+2); Ortsname := TLabel.Create(Self); Ortsname.Caption := ('Ort ' + IntToStr(z)); Ortsname.Top := y+5; Ortsname.Left := x+5; end; end; end. Gruss fabiO |
Re: Punkte in einer Paintbox beschriften?!
Versuch es mal mit
![]() Und wenn du es trotzdem mit deinem TLabel machen willst, dann setzt mal den Parent und setze es mit ![]() ![]() |
Re: Punkte in einer Paintbox beschriften?!
Zitat:
|
Re: Punkte in einer Paintbox beschriften?!
Zitat:
Du musst das Label als Variable der Form deklarieren. Und wie Khabarakh schon sagte, musst du das Label auch wieder freigeben!; Viele Grüße, Benjamin |
Re: Punkte in einer Paintbox beschriften?!
falsch, das Label wird nicht angezeigt, weil es kein "Parent" zugeordnet bekommen hat... bzw nur teilweise...
versuch mal "Label.Parent := PaintBox1;" nachdem dus erzeugt hast....... aber wie Luckie schon gesagt hat, solltest das ganze mit TextOut machen, das spart ne ganze menge arbeit :) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:28 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 by Thomas Breitkreuz