Главная Главная страница форума Регистрация Вход
Новые сообщения Участники форума Правила форума Поиск
Страница 1 из 11
Модератор форума: stalker, Ekz 
Форум » Все о Delphi » Начинающим » Выбор цвета
Выбор цвета
KochetkovДата: Четверг, 17.12.2009, 00:38 | Сообщение # 1
Ранг 1
Группа: Пользователи
Сообщений: 1
Награды: 0
Репутация: 0
Статус: Offline
Вот собственно делаю программу на delphi 10 lite, выбор цвета smile
В ComboBox текст появляется и цвета. Вот код

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;

Но возникла проблема с отображением. Все цвета прозрачные cry . долго думал, возился ничего не надумал, можете подсказать?


Не бойся, когда ты один, бойся когда ты нуль!
 
AdminДата: Четверг, 17.12.2009, 00:50 | Сообщение # 2
Ранг 10
Группа: Пользователи
Сообщений: 1268
Награды: 16
Репутация: 2
Статус: Offline
Всмысле прозрачные? Их вообще не видно?
Незнаю что может быть, вроде код нормальный. Попробуйте в новом пустом проекте это сделать. И если можно скриншот формы.


Не оказываю помощь через личные сообщения и ICQ
 
Форум » Все о Delphi » Начинающим » Выбор цвета
Страница 1 из 11
Поиск:

Copyright DelphiDevelop.ru © 2008-2018
Хостинг от uCoz