was ist neu ¦  programmier tips ¦  indy artikel ¦  intraweb artikel ¦  informationen ¦  links ¦  interviews
 sonstiges ¦  tutorials ¦  Add&Win Gewinnspiel

Tips (1547)

Dateien (137)
Datenbanken (90)
Drucken (35)
Grafik (115)
IDE (21)
Indy (5)
Internet / LAN (131)
IntraWeb (0)
Mathematik (76)
Multimedia (45)
Oberfläche (107)
Objekte/
ActiveX (51)

OpenTools API (3)
Sonstiges (127)
Strings (83)
System (268)
VCL (243)

Tips sortiert nach
Komponente


Tip suchen

Tip hinzufügen

Add&Win Gewinnspiel

Werbung

31 Visitors Online


 
....eine Combobox als Colorpicker verwenden?
Autor: Rafael Giusti
[ Tip ausdrucken ]  

Tip Bewertung (5):  
     




{
  IMPORTANT: This code won't run if you don't
  change the ComboBox or ListBox's property
  "Style" to csOwnerDrawVariable.

  WICHTIG: Die Eigenschaft "Style" der ComboBox muss auf
  csOwnerDrawVariable gesetzt werden, damit der Code
  funktioniert
}

const
  
COLOR_NUM = 15;
  ColorConst: array [0..COLOR_NUM] of TColor = (clBlack,
    clMaroon, clGreen, clOlive, clNavy,
    clPurple, clTeal, clGray, clSilver, clRed,
    clLime, clYellow, clBlue, clFuchsia,
    clAqua, clWhite);
  ColorNames: array [0..COLOR_NUM] of string = ('Black',
    'Maroon', 'Green', 'Olive', 'Navy',
    'Purple', 'Teal', 'Gray', 'Silver', 'Red',
    'Lime', 'Yellow', 'Blue', 'Fuchsia',
    'Aqua', 'White');

implementation

{...}

procedure TForm1.ComboBox1DrawItem(Control: TWinControl; Index: Integer; Rect: TRect;
  State: TOwnerDrawState);
begin
  with 
(Control as TComboBox).Canvas do
  begin
    
FillRect(Rect);
    TextOut(30, Rect.Top,
      ComboBox1.Items[Index]);
    Pen.Color   := clBlack;
    Brush.Color := ColorConst[Index];
    Rectangle(Rect.Left + 2, Rect.Top + 2, 24,
      Rect.Top + 15);
  end;
end;

procedure TForm1.FormCreate(Sender: TObject);
var
  
i: Integer;
begin
  for 
i := Low(ColorNames) to High(ColorNames) do
    
ComboBox1.Items.Add(ColorNames[i]);
end;


 

Bewerten Sie diesen Tipp:

dürftig
ausgezeichnet


Copyright © by SwissDelphiCenter.ch
All trademarks are the sole property of their respective owners