скрыть

скрыть

  Форум  

Delphi FAQ - Часто задаваемые вопросы

| Базы данных | Графика и Игры | Интернет и Сети | Компоненты и Классы | Мультимедиа |
| ОС и Железо | Программа и Интерфейс | Рабочий стол | Синтаксис | Технологии | Файловая система |



Google  
 

Список для выбора цвета



Оформил: DeeCo

{ 
  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;





Copyright © 2004-2016 "Delphi Sources". Delphi World FAQ




Группа ВКонтакте   Ссылка на Twitter   Группа на Facebook