AGB  ·  Datenschutz  ·  Impressum  







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

Canvas zeichnet nicht :(

Ein Thema von simonko · begonnen am 8. Dez 2005 · letzter Beitrag vom 8. Dez 2005
Antwort Antwort
simonko

Registriert seit: 2. Jun 2005
125 Beiträge
 
#1

Canvas zeichnet nicht :(

  Alt 8. Dez 2005, 16:34
Delphi-Quellcode:
TRechteck = class(TgraphicControl)
    procedure paint; override;
  end;

procedure TRechteck.paint;
begin
  canvas.Rectangle(100,100,200,300);
end;



Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
  rechteck:=TRechteck.Create(self);
  rechteck.Parent:=panel1;
  rechteck.paint;
end;
weiss jemand warum dieser code kein rechteck zeichnet?
  Mit Zitat antworten Zitat
Benutzerbild von tomsel
tomsel

Registriert seit: 8. Dez 2005
Ort: am Chiemsee
304 Beiträge
 
Delphi 7 Professional
 
#2

Re: Canvas zeichnet nicht :(

  Alt 8. Dez 2005, 16:52
Hallo,

Du setzt anscheinend nirgends die Größe oder das Alignment des Controls. Vielleicht sind width und height = 0 und das Rechteck besteht nur aus einem Punkt?
  Mit Zitat antworten Zitat
Benutzerbild von tomsel
tomsel

Registriert seit: 8. Dez 2005
Ort: am Chiemsee
304 Beiträge
 
Delphi 7 Professional
 
#3

Re: Canvas zeichnet nicht :(

  Alt 8. Dez 2005, 16:56
Ergänzung: Rectangle(...) wird zwar mit Größenangaben versorgt, aber wenn man etwas auf einer Zeichenfläche von 0 mal 0 Pixeln zeichnet, wird dies durch das Clipping eben unsichtbar.
  Mit Zitat antworten Zitat
simonko

Registriert seit: 2. Jun 2005
125 Beiträge
 
#4

Re: Canvas zeichnet nicht :(

  Alt 8. Dez 2005, 17:20
mit welcher eigenschaft kann ich das einstellen?
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#5

Re: Canvas zeichnet nicht :(

  Alt 8. Dez 2005, 17:22
Rechteck.Width,Rechteck.Height bzw Rechteck.Canvas.Width, Rechteck.Canvas.Height

Wobei das Rechteck.Width,Rechteck.Height reichen müsste denke ich mal...
Michael
  Mit Zitat antworten Zitat
Benutzerbild von tomsel
tomsel

Registriert seit: 8. Dez 2005
Ort: am Chiemsee
304 Beiträge
 
Delphi 7 Professional
 
#6

Re: Canvas zeichnet nicht :(

  Alt 8. Dez 2005, 17:32
Du kannst auch Rechteck.Align := alClient setzen, dann wird das Rechteck genau so groß wie das Panel, auf dem es pappt.
  Mit Zitat antworten Zitat
Benutzerbild von tomsel
tomsel

Registriert seit: 8. Dez 2005
Ort: am Chiemsee
304 Beiträge
 
Delphi 7 Professional
 
#7

Re: Canvas zeichnet nicht :(

  Alt 8. Dez 2005, 17:38
Ergänzung: nee, nicht das Rechteck, denn das wird ja durch Rectangle(...) festgelegt, sondern nur das Control. Das gezeichnete Rechteck wird aber sichtbar (wenn das Control nur groß genug ist), seine Größe ist aber immer 100 mal 200 und seine Position innerhalb des Controls ist 100, 100 (wenn ich die Rectangle-Parameter richtig interpretiere).
  Mit Zitat antworten Zitat
simonko

Registriert seit: 2. Jun 2005
125 Beiträge
 
#8

Re: Canvas zeichnet nicht :(

  Alt 8. Dez 2005, 17:40
ok jetzt gehts. nun ist nur noch die frage von wo bis wo das anfängt width und height.
was passiert denn wenn ich 1000*1000 eingebe und mein panel kleiner ist?
wenn ich als parent form1 eingebe dann wird das form automatisch so gros wie ich als width und high
angegeben hab.
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#9

Re: Canvas zeichnet nicht :(

  Alt 8. Dez 2005, 17:40
Zitat von tomsel:
ok jetzt gehts. nun ist nur noch die frage von wo bis wo das anfängt width und height.
was passiert denn wenn ich 1000*1000 eingebe und mein panel kleiner ist?
wenn ich als parent form1 eingebe dann wird das form automatisch so gros wie ich als width und high
angegeben hab.
Ja ist ja logisch^^ Bei dem Panel geht wird das Rechteck auch größer. Aber das Panel wächst nicht mit. Da ist halt ein Teil des Rechtecks nicht zu sehn. Die Form verändert automatisch die größe wenn das Control so groß wird (Bzw es werden Scrollbalken sichtbar)
Michael
  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 00:59 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