![]() |
Re: Paintbox sichtbar machen
mhm der Code färbt doch deine Paintbox weiß, ich weiß jetzt nicht wo dein Problem ist, dann mach dir einen Button und schreib den Code im OnClick-Ereignis darein
|
Re: Paintbox sichtbar machen
PERFEKT danke dir. Wars mir eine große hilfe.
Aber habe noch eine frage mit dem Colorgrid. Wie kann ich die farben eizenlt auswählen und abfragen?? |
Re: Paintbox sichtbar machen
im OnChange Ereignis von dem ColorGrid kannst du dann
Delphi-Quellcode:
und zum malen vllt
paintbox1.canvas.brush.color:=ColorGrid1.BackgroundColor;
Delphi-Quellcode:
aber wie du möchtest ;)
paintbox1.canvas.pen.color:=ColorGrid1.ForegroundColor;
aber was auch vllt ganz gut wäre, wäre der ColorDialog:
Delphi-Quellcode:
if ColorDialog1.execute then
paintbox1.canvas.brush.color:=ColorDialog1.Color; |
Re: Paintbox sichtbar machen
DANKEEEEEEEEEEE aber :-D das mit dem ColorDialog für das muss ich doch eine eigen Procedure schreiben oder????
|
Re: Paintbox sichtbar machen
mhm die abfrage kannst du ja auch in dem button machen, wie du willst ;)
Delphi-Quellcode:
wobei colorgrid die auswahl derfarben sehr gering ist ;) bei 16/255^3 Farben :D
if ColorDialog1.execute then
paintbox1.canvas.brush.color:=ColorDialog1.Color else paintbox1.canvas.brush.color:=clwhite; paintbox1.Canvas.FillRect(Rect(0,0,paintbox1.width,paintbox1.height)); hab noch eben was anderes probiert (wenn du jetzt das 4*4 ColorGrid hast und du dann unten rechts hinclickst kannst du noch ne ander Farbe wählen, wie du willst)
Delphi-Quellcode:
Gn8 blink182
procedure TForm1.ColorGrid1Click(Sender: TObject);
begin if ColorGrid1.Selection=15 then begin if ColorDialog1.execute then paintbox1.canvas.brush.color:=ColorDialog1.Color else paintbox1.canvas.brush.color:=clwhite; end else paintbox1.canvas.brush.color:=ColorGrid1.ForeGroundColor; // entweder du machst es noch mit einem Extra Button siehe unten oder du fügst hier die ZEile ein // paintbox1.Canvas.FillRect(Rect(0,0,paintbox1.width,paintbox1.height)); end; procedure TForm1.Button1Click(Sender: TObject); begin paintbox1.Canvas.FillRect(Rect(0,0,paintbox1.width,paintbox1.height)); end; |
Re: Paintbox sichtbar machen
danke ich glaube ich bleibe bei colorgrid müsste reichen von de farben. Aber ich versuche die ganze Zeit mit der Hintergrundfarbe weiß. Mit dem Button geht das jedoch wenn ich das in das FormCreat einfüge dann funkioniert nicht. KOMISCH :?
|
Re: Paintbox sichtbar machen
Das ist nicht komisch. Eine PaintBox wird beim Zeichnen des Fensters überschrieben. Zum Beispiel wenn ein anderes Fenster über das Fenster gezogen wird.
Und das Fenster wird beim Anzeigen nach dem Erzeugen logischerweise auch neu gezeichnet. Deshalb benutzt man eine TPaintBox im Allgemeinen auch mit einer ![]() |
Re: Paintbox sichtbar machen
Aber normalerweise muss doch die Hintergrundfarbe weiß sein wenn ich das hier angeben bei FormCreat
Delphi-Quellcode:
paintbox.canvas.brush.color:=clwhite;
paintbox.Canvas.FillRect(Rect(0,0,paintbox.width,paintbox.height)); |
Re: Paintbox sichtbar machen
Nein, wie denn? Nach dem Erzeugen des Formulars wird es angezeigt und dabei logischerweise neu gezeichnet. Und damit ist der vorher gezeichnete Inhalt weg. Was ist daran so schwer zu verstehen?
Wie gesagt: Zieh einfach ein Formular über die PaintBox, wenn du etwas hineingezeichnet hast. Danach ist der Inhalt weg. Inhalte, die nach einem Neuzeichnen noch vorhanden sein sollen, müssen in OnPaint wieder in die PaintBox gezeichnet werden. |
Re: Paintbox sichtbar machen
ich glaube du verstehst nicht was ICH sage oder sagen möchte. ICH will einfach nur das gleich am anfach nachdem Compalieren die Pintbox sichtbar in weiß ist.Mehr nicht. OKI DOKI
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:55 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