Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2003.12.12;
Скачать: [xml.tar.bz2];

Вниз

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

 
Лана Розанова   (2003-11-26 20:38) [0]

Возможно ли как-то подсветить строчку или фон в ListBox, к примеру красным цветом?
СПАСИБО!!!


 
Лана Розанова   (2003-11-26 20:46) [1]

Простите, я напутала. Не ListBox, а ListView.


 
SancheS   (2003-11-26 21:43) [2]

Через событие TListView.DrawItem


 
Лана Розанова   (2003-11-27 00:34) [3]

А где там указать про цвет!? Я не нашла.


 
Лана Розанова   (2003-11-27 00:45) [4]

Получается только все в красный перевести.

...
List_ProdashaDrawItem(List_Prodasha,List_Prodasha.Items.Item[i],r_rect,o_owner);
...

procedure TPredProdForm.List_ProdashaDrawItem(Sender: TCustomListView;
Item: TListItem; Rect: TRect; State: TOwnerDrawState);
begin
Sender.Brush.Color:=clRed;
end;


 
Dimaxx   (2003-11-27 01:40) [5]

Добавить к вышеуказанному примеру FillRect(Rect), а поверх вывести текст нужного цвета.


 
Dimaxx   (2003-11-27 01:42) [6]

Да, забыл. Нужно проверять Item (например, индекс) на соответствие. Ну, типа, что именно тот отрисовать красным, а не все подряд.


 
Лана Розанова   (2003-11-27 21:25) [7]

Что-то я совсем запуталась и ничего не получается... FillRect(Rect) как использовать, я не поняла?


 
panov   (2003-11-27 23:14) [8]

Всё прекрасно описано в Help. там даже работающий пример есть.


 
Sam Stone   (2003-11-27 23:35) [9]

Хм, у меня подобная проблема была. Я в customdraw смотрел, нужно ли этот элемент выделять, если да - менял цвет. Только вот какой гемор получился: ListView жутко моргал :( Как этого избежать?

2Лана Розанова
что-то типа этого:
if <Условие(например, выбор по ноиеру итема)> then
ListView.color:=<Каким цветом написать>
else
ListView.color:=<Дефолтовый цвет>;


 
Лана Розанова   (2003-12-02 09:22) [10]

>panov
Можно было бы и вырезать пример, если вы его нашли.


 
Семен Сорокин   (2003-12-02 09:44) [11]

Sam Stone © (27.11.03 23:35) [9]
ListView жутко моргал :( Как этого избежать?
не присваивать ListView.color в onDraw т.к. это вызывет перерисовку (получается бесконечная рекурсия)


 
Семен Сорокин   (2003-12-02 09:46) [12]

2Лана Розанова ©

List_ProdashaDrawItem(List_Prodasha,List_Prodasha.Items.Item[i],r_rect,o_owner);
...

procedure TPredProdForm.List_ProdashaDrawItem(Sender: TCustomListView;
Item: TListItem; Rect: TRect; State: TOwnerDrawState);
begin
if Item.Caption = "111" then // надо добавить условие закраски
Sender.Brush.Color:=clRed
end;


 
Лана Розанова   (2003-12-02 11:09) [13]

>Семен Сорокин
Я добавляю три строки. Каптион 2-й строки равен 111. При окончании прорисовки весь ListView окрашивается в красный цвет. А нужна только одна строка. СПАСИБО!!!


 
Silver Alex   (2003-12-02 11:22) [14]

вообще-то Семен Сорокин все верно написал, но можно попробовать тоже самое только на событие OnCustomDrawItem, а лучше бы глянуть код


 
Лана Розанова   (2003-12-02 11:31) [15]

Я попробую компонент ColorGrid, в кладовке нашла. Надоело с List-ом возиться...


 
panov   (2003-12-02 11:55) [16]


procedure TForm1.ListView1CustomDrawItem(Sender: TCustomListView;
Item: TListItem; State: TCustomDrawState; var DefaultDraw: Boolean);
begin
if Item.Caption="111" then
begin
DefaultDraw := True;
Sender.Canvas.Font.Color := clRed;
end;
end;


 
Лана Розанова   (2003-12-02 13:08) [17]

Здорово получилось. Но это только цвет текста. А background строчки никак нельзя? Спасибо.


 
panov   (2003-12-02 13:25) [18]

Добавь
Sender.Canvas.brush.Color := clBlue;


 
Silver Alex   (2003-12-02 13:51) [19]


> panov ©


> DefaultDraw := True;

по умолчанию DefaultDraw равен True ?


 
Лана Розанова   (2003-12-02 14:25) [20]

Огромное спасибо. То что нужно. Все, ветка сворачивается...


 
panov   (2003-12-02 16:01) [21]

>Silver Alex © (02.12.03 13:51) [19]
да, поумолчаню DefaultDraw - True;



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

Форум: "Основная";
Текущий архив: 2003.12.12;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.007 c
14-36844
Dmitriy O.
2003-11-19 12:52
2003.12.12
Сколько весят данные.


3-36512
Урмат
2003-11-20 12:26
2003.12.12
кодировка dbf ADO


1-36638
Ciber
2003-12-01 06:30
2003.12.12
NEXT


3-36565
Layner
2003-11-20 14:07
2003.12.12
Помогите подключить SQL Server к почте, по MAPI(?)


6-36786
Pepperok
2003-10-15 14:27
2003.12.12
Как отловить сообщения приходящие на службу сообщений(Net send)





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский