AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein GUI-Design mit VCL / FireMonkey / Common Controls Problem bei Hintergrundfarbe setzen bei eigener Komponente
Thema durchsuchen
Ansicht
Themen-Optionen

Problem bei Hintergrundfarbe setzen bei eigener Komponente

Ein Thema von Mysterio08 · begonnen am 6. Aug 2010 · letzter Beitrag vom 6. Aug 2010
 
Mysterio08

Registriert seit: 11. Jan 2009
142 Beiträge
 
#1

Problem bei Hintergrundfarbe setzen bei eigener Komponente

  Alt 6. Aug 2010, 09:08
Hallo,

ich setzte mich seit kurzen mit der Komponentenentwicklung auseinander, und habe nun folgendes Problem: Ich leite meine Komponente von TGraphicControl ab und möchte nun die Möglichkeit bieten, eine Hintergrundfarbe setzen zu lassen. Hier ein bisschen Code:
Delphi-Quellcode:
private
    FColor: TColor;
    procedure SetColor(const Value: TColor);
...
published
    property Color: TColor read FColor write SetColor;
...
procedure TCalculator.SetColor(const Value: TColor);
begin
  FColor := Value;
  with Canvas do begin
    Brush.Color := FColor;
    Pen.Color := FColor;
    Pen.Width := 1;
    Rectangle(0, 0, Width, Height)
  end
end;
Ich glaube, die Prozedur SetColor ist - naja - schlecht programmiert, aber ich weiß nicht, wie ich sonst die Hintergrundfarbe setzen soll.
Nun ja, die Probleme treten auf:
• Das setzen der Farbe im OI klappt noch, wenn die Komponente im Design-Bereich jedoch den Fokus verliert, dann tritt ein Problem auf, welches durch das Zeichnen verursacht wurde - die Komponente wird nicht vollständig gezeichnet, ich habe mal ein Screenshot gemacht.
• Klickt man erneut auf die Komponente, verschwindet die Farbe.
• Will ich das Programm, und damit die Komponente, kompilieren, tritt folgender Fehler auf und das Programm wird zurückgesetzt: "Exception EInvalid Operation in Modul Standard.exe bei 00072410. Element '' hat kein übergeordnetes Fenster".

Meine Frage also: Wie kann ich die Prozedur SetColor eleganter/besser schreiben?
mfg.
Angehängte Grafiken
Dateityp: gif Sample.gif (6,0 KB, 13x aufgerufen)
  Mit Zitat antworten Zitat
 


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 23:22 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