Главная страница
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.47 MB
Время: 0.015 c
2-1211218538
ser_ega
2008-05-19 21:35
2008.06.15
QRDBText прозрачный фон...


2-1211401846
ivan8511
2008-05-22 00:30
2008.06.15
Слаживание времени


9-1171341313
ryryr
2007-02-13 07:35
2008.06.15
Puzzle


2-1211278254
Xmen
2008-05-20 14:10
2008.06.15
Сворачивание в трей


2-1211192209
kla$
2008-05-19 14:16
2008.06.15
interbase(проблема ввода данных)