AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Paintbox sichtbar machen
Thema durchsuchen
Ansicht
Themen-Optionen

Paintbox sichtbar machen

Ein Thema von Code46 · begonnen am 16. Mär 2009 · letzter Beitrag vom 17. Mär 2009
Antwort Antwort
Seite 2 von 3     12 3      
blink182

Registriert seit: 19. Jun 2007
126 Beiträge
 
Delphi 5 Standard
 
#11

Re: Paintbox sichtbar machen

  Alt 17. Mär 2009, 00:53
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
  Mit Zitat antworten Zitat
Code46

Registriert seit: 16. Mär 2009
28 Beiträge
 
#12

Re: Paintbox sichtbar machen

  Alt 17. Mär 2009, 00:58
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??
  Mit Zitat antworten Zitat
blink182

Registriert seit: 19. Jun 2007
126 Beiträge
 
Delphi 5 Standard
 
#13

Re: Paintbox sichtbar machen

  Alt 17. Mär 2009, 01:03
im OnChange Ereignis von dem ColorGrid kannst du dann

paintbox1.canvas.brush.color:=ColorGrid1.BackgroundColor; und zum malen vllt

paintbox1.canvas.pen.color:=ColorGrid1.ForegroundColor; aber wie du möchtest

aber was auch vllt ganz gut wäre, wäre der ColorDialog:

Delphi-Quellcode:
if ColorDialog1.execute then
paintbox1.canvas.brush.color:=ColorDialog1.Color;
  Mit Zitat antworten Zitat
Code46

Registriert seit: 16. Mär 2009
28 Beiträge
 
#14

Re: Paintbox sichtbar machen

  Alt 17. Mär 2009, 01:10
DANKEEEEEEEEEEE aber das mit dem ColorDialog für das muss ich doch eine eigen Procedure schreiben oder????
  Mit Zitat antworten Zitat
blink182

Registriert seit: 19. Jun 2007
126 Beiträge
 
Delphi 5 Standard
 
#15

Re: Paintbox sichtbar machen

  Alt 17. Mär 2009, 01:25
mhm die abfrage kannst du ja auch in dem button machen, wie du willst
Delphi-Quellcode:
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));
wobei colorgrid die auswahl derfarben sehr gering ist bei 16/255^3 Farben

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:
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;
Gn8 blink182
  Mit Zitat antworten Zitat
Code46

Registriert seit: 16. Mär 2009
28 Beiträge
 
#16

Re: Paintbox sichtbar machen

  Alt 17. Mär 2009, 01:35
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
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.646 Beiträge
 
Delphi 11 Alexandria
 
#17

Re: Paintbox sichtbar machen

  Alt 17. Mär 2009, 02:01
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 Hintergrundbitmap.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Code46

Registriert seit: 16. Mär 2009
28 Beiträge
 
#18

Re: Paintbox sichtbar machen

  Alt 17. Mär 2009, 02:07
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));
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.646 Beiträge
 
Delphi 11 Alexandria
 
#19

Re: Paintbox sichtbar machen

  Alt 17. Mär 2009, 02:10
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.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Code46

Registriert seit: 16. Mär 2009
28 Beiträge
 
#20

Re: Paintbox sichtbar machen

  Alt 17. Mär 2009, 02:15
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
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 3     12 3      


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 15:35 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