Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.06.15;
Скачать: CL | DM;

Вниз

работа с ListBox   Найти похожие ветки 

 
AeRo   (2008-05-19 22:45) [0]

Вот я нашел инфу о том, как сделат так, чтобы поля листбокса имели разный цвет, но там цвет меняли только поля с каким-то значением. Можно ли изменить цвет всех видимых полей?


 
{RASkov} ©   (2008-05-19 23:00) [1]

> [0] AeRo   (19.05.08 22:45)
> Можно ли изменить цвет всех видимых полей?

Что это?
Покажи как ты делаешь... пытаешься делать.
И объясни чтоже находится в ЛистБоксе у тебя...


 
Aero   (2008-05-19 23:07) [2]

Я не совсем верно обьяснил, какой мне нужен результат. Я хочу, чтобы в листе одна ячейка была, например, белая, а вторая - красная. Но когда я использую найденый код, то это действует только на не пустые ячейки, а мне нужно, чтобы на все. Вот найденый мною код:

procedure TForm1.ListBox1DrawItem
 (Control: TWinControl; Index: Integer;
 Rect: TRect; State: TOwnerDrawState);
var
 myColor: TColor;
 myBrush: TBrush;
begin
 myBrush := TBrush.Create;
 with (Control as TListBox).Canvas do
 begin
   if not Odd(Index) then
     myColor := clSilver
   else
     myColor := clYellow;

   myBrush.Style := bsSolid;
   myBrush.Color := myColor;
   Windows.FillRect(handle, Rect, myBrush.Handle);
   Brush.Style := bsClear;
   TextOut(Rect.Left, Rect.Top,
     (Control as TListBox).Items[Index]);
   MyBrush.Free;
 end;
end;


 
Aero   (2008-05-19 23:08) [3]

Я не совсем верно обьяснил, какой мне нужен результат. Я хочу, чтобы в листе одна ячейка была, например, белая, а вторая - красная. Но когда я использую найденый код, то это действует только на не пустые ячейки, а мне нужно, чтобы на все. Вот найденый мною код:

procedure TForm1.ListBox1DrawItem
 (Control: TWinControl; Index: Integer;
 Rect: TRect; State: TOwnerDrawState);
var
 myColor: TColor;
 myBrush: TBrush;
begin
 myBrush := TBrush.Create;
 with (Control as TListBox).Canvas do
 begin
   if not Odd(Index) then
     myColor := clSilver
   else
     myColor := clYellow;

   myBrush.Style := bsSolid;
   myBrush.Color := myColor;
   Windows.FillRect(handle, Rect, myBrush.Handle);
   Brush.Style := bsClear;
   TextOut(Rect.Left, Rect.Top,
     (Control as TListBox).Items[Index]);
   MyBrush.Free;
 end;
end;


 
{RASkov} ©   (2008-05-19 23:40) [4]

> [2] Aero   (19.05.08 23:07)
> Я не совсем верно обьяснил

И опять нифика не понятно.... :(
Что значит "на не пустые" и что такое "все ячейки"?
Т.е. ты хочешь видеть полосатый листбокс независимо есть в нем данные или нет, так?
Тогда как простой вариант добавляй "до низа" листбокса пустые итемы(ячейки).... ListBox.Add("");



Страницы: 1 вся ветка

Текущий архив: 2008.06.15;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.013 c
2-1211275674
fenixgold
2008-05-20 13:27
2008.06.15
Как правильно создать динамически ComboBox и удалить


15-1209848669
NaRuTo
2008-05-04 01:04
2008.06.15
Проблема с железом


2-1211312073
Chel
2008-05-20 23:34
2008.06.15
Помогите с выборкой


11-1189762779
Yury Sidorov
2007-09-14 13:39
2008.06.15
Предложение отказаться от ASM версии


15-1209937314
tButton
2008-05-05 01:41
2008.06.15
case n of