Delphi-PRAXiS
Seite 4 von 4   « Erste     234   

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/)
-   -   Enttäuschung: Kein Image,Panel, individueller Farbumschag bei FontColor und Panel (https://www.delphipraxis.net/185453-enttaeuschung-kein-image-panel-individueller-farbumschag-bei-fontcolor-und-panel.html)

Sel2012 14. Jun 2015 15:12

AW: Enttäuschung: Kein Image,Panel, individueller Farbumschag bei FontColor und Panel
 
Zitat:

Zitat von mkinzler (Beitrag 1305059)
Dann musst Du diesen Status irgendwie hinterlegen und dann im Paint-Event auswerten und entsprechend reagieren.

Tschulligung, das ist so, als würde ich mit meinem Goldfisch reden (bitte nicht böse sein - Programmierer können wohl nicht anders kommunizieren).
Ich suche sowas:

procedure machwas(zahl: integer);
begin
zahl := zahl+5;
end;

procedure aufruf;
var einezahl: integer;
begin
einezahl := 5;
machwas(einezahl);
end;

Nur eben ausgelöst mit Button1Click. <machwas(einezahl);> müsste nur an
procedure Panel1Paint(Sender: TObject; Canvas: TCanvas; const ARect: TRectF);
angepasst werden. Aber wie?
const ARect: TRectF);

Harry Stahl 14. Jun 2015 15:16

AW: Enttäuschung: Kein Image,Panel, individueller Farbumschag bei FontColor und Panel
 
Nein, das ist keine gute Idee, im Button-Klick-Event direkt auf das Panel zeichnen zu wollen. Der richtige Ort ist hier immer das OnPaint-Event selber. Du kannst allenfalls einen Wert im Button-Event setzten, und ein Repaint der Komponente auslösen, wo dann der Wert berücksichtigt wird.

Das nur als Antwort. Aber generell möchte ich zur Sicherheit nur einmal sagen, dass das von mir gezeigte Beispiel nur als Antwort auf Himitsus Bemerkung zum Canvas-zeichnen unter FMX war. Ich würde das nur in besonderen Spezialfällen nutzen.

Viel einfacher wäre, Du definierst Dir benutzerdefinierte Styles (mit unterschiedlichen Farben) und weist dann dem Panel einfach die unterschiedlichen Styles zu.

Oder Du verwendest direkt das TRectangle, da kannst Du ganz einfach zur Laufzeit (auch im Button-Klick-Event) die Eigenschaft "Fill" mit der gewünschten Farbe setzen.

mkinzler 14. Jun 2015 15:34

AW: Enttäuschung: Kein Image,Panel, individueller Farbumschag bei FontColor und Panel
 
Den Status ( Werte für Auswertung oder absolute Farbe) z.B. in .Tag ablegen und dann im Paint auswerten

In Klick-Event des Buttons:

Delphi-Quellcode:
  Panel1.Tag := TAlphaColor.Blue;
  Panel1.Repaint;
Im Paint:
Delphi-Quellcode:
  if Sender.Tag <> 0 then
  begin
    canvas.BeginScene;
    canvas.Fill.Kind := TBrushKind.bkSolid;
    Canvas.Clearrect (Arect, (Sender as TComponent).Tag);
    canvas.EndScene;
  end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 15:05 Uhr.
Seite 4 von 4   « Erste     234   

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