Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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
15-1210052143
Slider007
2008-05-06 09:35
2008.06.15
С днем рождения ! 6 мая 2008 вторник


4-1191494697
antoxa2005
2007-10-04 14:44
2008.06.15
Подскажите, а как считать то, что программа отправила на Com порт


2-1211539949
StiTch
2008-05-23 14:52
2008.06.15
E-Mail


2-1211388025
Favorit
2008-05-21 20:40
2008.06.15
InterBase


15-1209811644
Palladin
2008-05-03 14:47
2008.06.15
Зомби сети





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский