Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как сделать разноцветные строки у Listbox'а 
:(
    Опции темы
Bi-Bi
Дата 17.8.2005, 18:34 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Народ! Отзовитесь и помогите чем можете!!! Подкиньте код, с помощью которого можно было бы за давать каждому пункту Listbox'а свой цвет! Очень нужно для моего чата! smile
  Вверх
_hunter
Дата 17.8.2005, 18:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: 15
Всего: 98



ставиш стиль в lbOwnerDrawFixed / lbOwnerDrawVariable ( в принципе в любой, кроме lbStandard ) назначаеш обработчик OnDrawItem ( и OnMeasureItem ( если нужно ) ) и рисуй в нем. все.

если нужен именно код -- поиск по форуму по словам lbOwnerDrawFixed / lbOwnerDrawVariable


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
Bi-Bi
Дата 17.8.2005, 19:02 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Ну залез я в help, посмотрел. Там есть инфа про картинки. А мне нужно про текст, причём чтобы у каждой строки был свой цвет! В книге я тоже читал про то , как вывести в listbox все шрифты. Пытался подогнать исходник под себя-нихрена не получается!!! smile
  Вверх
Poseidon
Дата 17.8.2005, 19:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphi developer
****


Профиль
Группа: Комодератор
Сообщений: 5273
Регистрация: 4.2.2005
Где: Гомель, Беларусь

Репутация: 53
Всего: 133





--------------------
Если хочешь, что бы что-то работало - используй написанное, 
если хочешь что-то понять - пиши сам...
PM MAIL ICQ   Вверх
Bibimij
Дата 19.8.2005, 17:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 55
Регистрация: 19.8.2005

Репутация: нет
Всего: нет



Цитата(Poseidon @ 17.8.2005, 19:20)
http://vingrad.ru/DELPHI-DLP-000721

Так мне надо цвет текста, а не заднего плана изменять!
PM MAIL   Вверх
z-END
Дата 19.8.2005, 17:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прафесар™
****


Профиль
Группа: Комодератор
Сообщений: 3014
Регистрация: 13.3.2003
Где: Венья, Пиетари

Репутация: 11
Всего: 102



причем тут winAPI ? это ж в раздел общие вопросы.
кнопочка поиск как раз для вас сударь...
http://forum.vingrad.ru/index.php?showtopic=55342



--------------------
Каждый чилавек пасвоему праф...а памоему НЕТ! 

PM WWW ICQ   Вверх
Poseidon
Дата 19.8.2005, 17:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Delphi developer
****


Профиль
Группа: Комодератор
Сообщений: 5273
Регистрация: 4.2.2005
Где: Гомель, Беларусь

Репутация: 53
Всего: 133



Цитата(Bibimij @ 19.8.2005, 17:24)
Так мне надо цвет текста, а не заднего плана изменять!
Так бы и писал, а то
Цитата(Bi @ 17.8.2005, 18:34)
можно было бы за давать каждому пункту Listbox'а свой цвет


Ладно, вот пример. Как сделать именно под траю задачу, разберешся сам.

Делаешь то, что в примере из FAQ, только код пишешь этот:
Код
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 := clBlue
    else
      myColor := clRed;
    Font.Color:= myColor;

    Brush.Style := bsClear;
    TextOut(Rect.Left, Rect.Top,
            (Control as TListBox).Items[Index]);
    MyBrush.Free;
  end;
end;




--------------------
Если хочешь, что бы что-то работало - используй написанное, 
если хочешь что-то понять - пиши сам...
PM MAIL ICQ   Вверх
Bibimij
Дата 19.8.2005, 20:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 55
Регистрация: 19.8.2005

Репутация: нет
Всего: нет



Получается, но несовсем то! Нельзя сделать так, чтобы можно было во время выполнения программы создавать новый элемент со своим цветом, при этом цвет остальных не менялся? smile smile
PM MAIL   Вверх
_hunter
Дата 22.8.2005, 11:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: 15
Всего: 98



почитай немного а канве, кистях, TextOut и пиши...
или ты хочеш чтобы за тебя все написали?


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0660 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.