Форум: "Начинающим";
Текущий архив: 2008.06.15;
Скачать: [xml.tar.bz2];
Внизработа с 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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.007 c