AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Probleme mit TBrushRecall

Ein Thema von Popov · begonnen am 3. Apr 2015 · letzter Beitrag vom 4. Apr 2015
 
Popov
(Gast)

n/a Beiträge
 
#1

Probleme mit TBrushRecall

  Alt 3. Apr 2015, 23:59
Angeregt durch einen Beitrag, habe ich in einem meiner Projekte einige Prozeduren verändert und meinen plumpen Code durch den Tipp mit TBrushRecall & Co. ersetzt. Eigentlich klappt das in allen Prozeduren, nur bei einer kommen falsche Ergebnisse raus. Warum?

Beispiel: Brush.Color der Bitmap ist clYellow. Nun will ich einige Rechteck mit einer anderen Farbe füllen. Zuerst wird ein Rechteck weiß gefüllt, dann ein zweites gleich, anschließend mit einer kurzen Verzögerung werden beide grün überzeichnet. Dazu die erste Prozedur. Die funktioniert auch.
Delphi-Quellcode:
var
  BrushStyle: TBrushStyle;
begin
  with Bitmap.Canvas do
  begin
    BrushStyle := Brush.Style;
    Brush.Style := bsSolid;
    Brush.Color := AColor;
    FillRect(GetCellRect(Col, Row));
    Brush.Style := BrushStyle;
  end;
end;
Diese Prozedur sollte eigentlich gleich funktionieren. Tut sie aber nicht. Das erste Rechteck wird noch mit weiß gefüllt, das zweite dann mit gelb (statt weiß), dann werden beide mit gelb überzeichnet (statt grün).

Beide Prozeduren werden mit den jeweiligen Farben aufgerufen, nicht etwa mit Brush.Color. Wieso reagiert die zweite Prozedur nicht auf die Farben?
Delphi-Quellcode:
var
  LBrushRecall : TBrushRecall;
begin
  with Bitmap.Canvas do
  begin
    LBrushRecall := TBrushRecall.Create(Brush);
    try
      Brush.Style := bsSolid;
      Brush.Color := AColor;
      FillRect(GetCellRect(Col, Row));
    finally
      LBrushRecall.Free;
    end;
  end;
end;
  Mit Zitat antworten Zitat
 

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 20:04 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-2025 by Thomas Breitkreuz