Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Combobox als Farbauswahl (https://www.delphipraxis.net/19947-combobox-als-farbauswahl.html)

Freddy_K 11. Apr 2004 16:12


Combobox als Farbauswahl
 
Moin

Ich habe eine Combobox die ich für eine farbauswahl benutzen will.. wenn ich jetzt aber Combo1.text nehm um das als farbwert zu nutzen sagt der mir das tcolor und tcaption inkompatibel sind..

ich hoffe jmd kann mir sagen wie man das sonst machen kann

mfg
Freddy

fxbasic 11. Apr 2004 16:14

Re: Combobox als Farbauswahl
 
Ab Delphi 6 gibt es eine Kompo ich glaube TColorComboBox oder so... Mit der sollte das gehen.

Gruß, fxbasic

fkerber 11. Apr 2004 16:20

Re: Combobox als Farbauswahl
 
Hi!

Bei Delphi 7 PE auf der Registerkarte Zusätzlich gibt es die Komponente "ColorBox". Die müsste eigentlich sein, was du suchst.

Ciao fkerber

sakura 11. Apr 2004 16:23

Re: Combobox als Farbauswahl
 
Einfach:
Delphi-Quellcode:
Control.Color := TColor(StrToIntDef(ComboBox1.Text, 0));
...:cat:...

Freddy_K 11. Apr 2004 16:28

Re: Combobox als Farbauswahl
 
ok danke.. funktioniert..

bei sovielen schnellen antworten werdet ich mich so schnell nich mehr los :)

Sharky 11. Apr 2004 16:31

Re: Combobox als Farbauswahl
 
Hai Freddy_K,

Du kannst Dir auch Farben in der ComboBox anzeigen lassen wenn Du sie selber zeichnest:

Delphi-Quellcode:
var
 farbe : TColor;

procedure TForm1.FormCreate(Sender: TObject);
begin
  ComboBox1.Style := csOwnerDrawFixed;
  ComboBox1.Clear;
  ComboBox1.Items.Add('Rot');
  ComboBox1.Items.Add('Blau');
  ComboBox1.Items.Add('Grün');
end;

procedure TForm1.ComboBox1DrawItem(Control: TWinControl; Index: Integer;
  Rect: TRect; State: TOwnerDrawState);
begin
  case index of
   0 : farbe := clRed; //Erster Eintrag
   1 : farbe := clBlue; //Zweiter Eintrag
   2 : farbe := clGreen; //Dritter Eintrag
  end;
  ComboBox1.Canvas.Brush.Color := farbe;
  ComboBox1.Canvas.FillRect(Rect);
  ComboBox1.Canvas.TextOut(Rect.Left+2,Rect.Top+2,ComboBox1.Items[index]);
end;
Wichtig ist das [b]ComboBox.Style := csOwnerDrawFixed[b] ist.

Freddy_K 11. Apr 2004 19:21

Re: Combobox als Farbauswahl
 
t so gut.. mit der colorcombobox klappt das prima.. das einzige problem das ich noch hab is folgendes..

Ich verwende eine .ini datei als config datei. nun möchte ich abspeichern welche farbe ausgewählt worden is.. finde aber irgendwie nichts passendes das nen rückschluss darüber zulässt.. und wie ich das ganze dann wieder einstellen kann..


mfg
Freddy

Markus K. 11. Apr 2004 19:24

Re: Combobox als Farbauswahl
 
Hallo Freddy_K;
du könntest die ausgewählte Farbe abspeichern. Dann suchst du beim Starten den Index der gespeicherten Farbe und setzt den ItemIndex entsprechend. Das wäre eine Möglichkeit, wie ich dieses Problem lösen würde. Vielleicht hilft sie dir ein wenig. Man könnte natürlich auch den Index des augewählten Eintrages abspeichern.

Tschüß Markus


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:47 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 by Thomas Breitkreuz