Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Problem beim Komponenten entwickeln (https://www.delphipraxis.net/104264-problem-beim-komponenten-entwickeln.html)

Adrian112 30. Nov 2007 12:13


Problem beim Komponenten entwickeln
 
Hallo,

ich habe jetzt mal angefangen mich ein bisschen mit Komponentenentwicklung zu beschäftigen. Dazu habe ich eine Komponente von TGraphicControl abgeleitet und Paint überschrieben.

Delphi-Quellcode:
if down = false then
begin
 Canvas.Brush.Color := aColor;              // Farbe
 Canvas.Brush.Style := bsSolid;             // Ausgefüllt
 Canvas.Rectangle(Bounds(0,0,Width,Height)); // Rechteck zeichnen
end;
// Hier folgen dann noch weitere Anweisungen
Das klappt auch gut, doch jetzt wollte ich ein abgerundetes Rechteck zeichnen:

Delphi-Quellcode:
if down = false then
begin
 Canvas.Brush.Color := aColor;              // Farbe
 Canvas.Brush.Style := bsSolid;             // Ausgefüllt
 Canvas.RoundRect(0,0,Width,Height,10,10);  // abgerundetes Rechteck zeichnen
end;
// Hier folgen dann noch weitere Anweisungen
Doch das klappt jetzt nicht mehr, es wird immernoch ein Rechteck in der angegebenen Farbe gezeichnent, kein abgerundetes Rechteck!
Woran liegt das? (Ich hab schon das Package neu kompiliert)

Muetze1 30. Nov 2007 12:33

Re: Problem beim Komponenten entwickeln
 
- Wird das durch die nachfolgenden Anweisungen wieder übermalt?
- Wie gross ist dein Rechteck? Die Rundung von 10 Pixeln ist natürlich nur richtig zu sehen, wenn das Rechteck entsprechend auch eine gewissen Grösse hat.

Adrian112 30. Nov 2007 12:40

Re: Problem beim Komponenten entwickeln
 
Nein, die nachfolgende Anweisung übermalt es nicht, es ist einfach nur nochmal eine if Schleife für true.
Das Rechteck ist schon groß genug, ich habe auch schon verschiedene Größen ausprobiert.

Deep-Sea 30. Nov 2007 12:46

Re: Problem beim Komponenten entwickeln
 
Zitat:

Zitat von Adrian112
if Schleife für true.

Ein bitte was? :shock:

Troubleshooting wie immer:
Mach ein ganz neues Projekt und versuche RoundRect erstmal ganz "alleine", wenn es klappt füge immer mehr hinzu bis du findest, was daran schuld ist :wink:

Adrian112 30. Nov 2007 12:56

Re: Problem beim Komponenten entwickeln
 
Ok, werd ich versuchen

Mit if Schléife für true meinte ich die Abfrage von down. (mach ich vieleicht besser mit if then else)

Deep-Sea 30. Nov 2007 12:58

Re: Problem beim Komponenten entwickeln
 
Zitat:

Zitat von Adrian112
Mit if Schléife für true meinte ich die Abfrage von down. (mach ich vieleicht besser mit if then else)

If ist aber keine Schleife, sondern eine bedingte Anweisung :wink: While-do und repeat-until sind welche ...
Und am besten wäre
Delphi-Quellcode:
If not Down then ...

uligerhardt 30. Nov 2007 13:49

Re: Problem beim Komponenten entwickeln
 
Zitat:

Zitat von Deep-Sea
If ist aber keine Schleife, sondern eine bedingte Anweisung :wink: While-do und repeat-until sind welche ...

klicki :wink:

Deep-Sea 30. Nov 2007 13:51

Re: Problem beim Komponenten entwickeln
 
Zitat:

Zitat von uligerhardt

Sinnfreie Domainverschwendung :P Und nun?


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:05 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