Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi ColorDialog und Label (https://www.delphipraxis.net/58057-colordialog-und-label.html)

Sh4d0w 30. Nov 2005 17:45


ColorDialog und Label
 
Guten Abend,

Ich hab eine Frage: Wenn ich mit

Delphi-Quellcode:
with Bild.Canvas do begin
  if ColorDialog1.Execute then
  Pen.Color:=ColorDialog1.Color;
  Label2.Font.Color:=ColorDialog1.Color;
den ColorDialog aufrufe und eine Farbe auswähle wird der Text von Label2 zu der ausgewählten Farbe. Kann man das auch so machen, dass die Caption von Label2 sich automatisch ändert, wenn man die Farbe auswählt? z.B. Ich wähle Rot, dann steht in Label2 "Rot", geht das???

Vielen Dank!

mfg,
Sh4d0w

Der_Unwissende 30. Nov 2005 17:55

Re: ColorDialog und Label
 
Hi,
du solltest ein begin und end um dein if... setzen.

Ich denke nicht dass das ohne weiteres geht. Problem ist, du kann natürlich auch Farben selbst Definieren und was ist R:183 G:172 B:073 denn für eine Farbe? Ich weiß nicht wie sie heißt, sind nur zufällig getippte Zahlen (die hoffentlich jeweils < 255 sind). Aber du kannst bei Farben die du kennst schauen ob die ausgewählte Farbe dem entspricht und entsprechend umbenennen
Delphi-Quellcode:
case ColorDialog1.Color of
  clRed : Label2.Caption := 'clRed';
  clGreen : Label2.Caption := 'clGreen';
  ...
  else : Label2.Caption := 'unknown';
end;
Gruß Der Unwissende

shmia 30. Nov 2005 17:58

Re: ColorDialog und Label
 
Zitat:

Zitat von Sh4d0w
den ColorDialog aufrufe und eine Farbe auswähle wird der Text von Label2 zu der ausgewählten Farbe. Kann man das auch so machen, dass die Caption von Label2 sich automatisch ändert, wenn man die Farbe auswählt? z.B. Ich wähle Rot, dann steht in Label2 "Rot", geht das???

TColorDialog ist ein DIALOG; du musst erst OK oder Abbrechen klicken, bevor du das Ergebnis
auslesen kannst.
Es gibt allerdings auch ColorCombos und Ähnliches. such dir was aus:
http://www.torry.net/pages.php?id=135

Sh4d0w 30. Nov 2005 18:01

Re: ColorDialog und Label
 
Zitat:

Zitat von Der_Unwissende

Delphi-Quellcode:
case ColorDialog1.Color of
  clRed : Label2.Caption := 'clRed';
  clGreen : Label2.Caption := 'clGreen';
  ...
  else : Label2.Caption := 'unknown';
end;
Gruß Der Unwissende

Das es so geht weiß ich ja, aber ich wollte jetzt nicht alle Farben da reinschreiben, deshalb wollte ich wissen, ob es noch eine andere Möglichkeit gibt...
Aber trotzdem danke ;)

@shmia: Danke!!!

dahead 30. Nov 2005 18:16

Re: ColorDialog und Label
 
du könntest ColorToString(aColor) verwenden.

Sh4d0w 30. Nov 2005 18:32

Re: ColorDialog und Label
 
Kannst du es vllt. etwas näher erklären? Wie ist der befehl denn genau? Also Label2.Caption:=???

Danke!

mfg
Sh4d0w

Neutral General 30. Nov 2005 19:03

Re: ColorDialog und Label
 
Delphi-Quellcode:
with Bild.Canvas do begin
  if ColorDialog1.Execute then begin
   Pen.Color:=ColorDialog1.Color;
   Label2.Font.Color:= ColorDialog1.Color;
   Label2.Caption := ColorToString(ColorDialog1.Color);
  end;
  //...
end;
so müsste es gehn :)

Sh4d0w 30. Nov 2005 19:13

Re: ColorDialog und Label
 
Vielen Dank, dass klappt, aber noch eine Kleinigkeit, wenn ich da Blau auswähle kommt dann ClBlue, nicht "Blau", aber das kann man nicht ändern oder??

Neutral General 30. Nov 2005 19:19

Re: ColorDialog und Label
 
Naja ansonsten musst dus so machen wie Der_Unwissende es gesagt mit "meiner" Lösung kombiniert:

Delphi-Quellcode:
with Bild.Canvas do begin
  if ColorDialog1.Execute then begin
   Pen.Color:=ColorDialog1.Color;
   Label2.Font.Color:= ColorDialog1.Color;
   case ColorDialog1.Color of
    clRed : Label2.Caption := 'Rot';
    clGreen : Label2.Caption := 'Grün';
    clBlue : Label2.Caption := 'Blau';
    //...
    else Label2.Caption := ColorToString(ColorDialog1.Color);
   end;
  end;
  //...
end;
so etwa.

Sh4d0w 30. Nov 2005 20:08

Re: ColorDialog und Label
 
oki thx, kann geclosed werden!


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:59 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