Вторник, 05.08.2025, 04:09
Здесь может быть ваша реклама
Меню сайта
Категории раздела
Исходники [2]
Компоненты [22]
Уроки [8]
Программы [1]
Книги [20]
Интерестное
Анекдот:
Друзья сайта
Лучшая партнёрка, постаянные и надёжные выплаты, СУПЕР!!! Лучшие проги рунета!! ВСЁ БЕСПЛАТНО!!
Поиск
Главная » Файлы » Уроки

Разрисовываем TListBox. (Part 1)
[ ] 13.07.2009, 17:11
Все привет. У на разных сайтах спрашивают как можно разрисовать ListBox например для медиа плеера. Есть очень длинные и тяжёлые коды что б это осуществить, но это не тот случай. В этом уроке мы рассмотрим самый простой способ отрисовки TListBox. Идея заключается в том что чётные строки будут одного цвета(например серыми), а нечётные будут белыми.

Приступим:

Создаём новый проэкт и кидаем на форму Listbox из закладки Standart и ставим свойство style := lbOwnerDrawVariable или lbOwnerDrawFixed. После этого кидаем на форму 2 компонента Timage из закладки Aditional и загружаем в них картинки(такие что можна растянуть) потом в собитии listbox-a OnDrawItem прописываем:

Code

procedure TForm1.ListBox1DrawItem(Control: TWinControl; Index: Integer;
  Rect: TRect; State: TOwnerDrawState);
begin

  if index mod 2 = 0 then
  begin
  listbox1.Canvas.StretchDraw(rect, image2.Picture.Graphic); // кидаем картинку  
  listbox1.Canvas.TextOut(rect.Left, rect.Top, listbox1.Items[index]); //показываем текст
  end;

  if index mod 2 = 1 then
  begin
  listbox1.Canvas.StretchDraw(rect, image1.Picture.Graphic);
  listbox1.Canvas.TextOut(rect.Left, rect.Top, listbox1.Items[index]);
  end;
end;

Вот и всё. Теперь для убедительности киньте кнопку на форму и пропишите:

Code

procedure TForm1.SpeedButton1Click(Sender: TObject);
  var
  i:integer;
begin
  i:=listbox1.Items.Count; //количество item-ов
  listbox1.Items.Add('Item #' + inttostr(i)); //добавляем по одному
end;
end;

Всё работает отлично и без збоев. Всем пока

Продолжение следует ...
Категория: Уроки | Добавил: Vi[rus]
Просмотров: 878 | Загрузок: 0 | Комментарии: 5 | Рейтинг: 0.0/0 |
Всего комментариев: 4
4 regorcype  
0
Срочно требуются работники. Обработка зказов на дому.

Без вложений, на системе автоматического приёма и обработки заказов.

Более подробная информация >> obrabotka-zakazov.tk <<

3 Egoro  
0
щитки сварщика
- также посмотрите наш каталог сайтов. В каталоге ссылок Вы можете найти сайты имеющие отношение к рекламе или дизайну. Ниже можете добавить и свой сайт. http://info-liomers.ru/

2 Yuartalev  
0
пардон за назойливость. искони шарил вменяемое повесть вкладов, их динамики. Для тех кто такой не осмысливает, это не так несложно. На просторах веба (целый) воз чего есть. Но вменяемой извещении о вкладах не так ушей).
внизу ссылка на заметку. имеет возможность кому-то из вас сгодится.

Если не туда расположил пост переместите пожалуйста. Благодарю.
http://rusbanksite.ru/%D0%B2%D1%8B%D0%B3%D0%BE%D0%B4%D0%BD%D1%8B%D0%B5-%D0%B2%D0%BA%D0%BB%D0%B0%D0%B4%D 1%8B/ - Лишь только у нас вам выкроите банковские вклады коие несомненно помогут вы и вашим купюрами

1 Fujrzaeeu  
0
Помогите советом. Пару дней назад решился купить в онлайн аптеке порядком препаратов. Для себя разумеется и ради жены тоже.
Аптеку нашел через сего сайт.
http://sdfg.freeiz.com/
Понравились цены и бонусы. Там позволительно купить громоздкий обьем около даром.

Оплатил без проблем. Днесь жду когда прийдет. жду и сомневаюсь. Боюсь что ошибся в чем-то.
А потому прошу совета. Который покупал через онлайн аптеки? Я сделал всетаки правильно?

P.S. Господа модераторы. Извините если написал не туда. Перенесите тему в правильный раздел. Спасибо.

Имя *:
Email *:
Код *:
Форма входа
Инфа
Ваш аватр для форума:


Вы вошли как: Гость
Вы в групе: Гости
Ваш IP: 216.73.216.226
Вы зашли через
Личные сообщения
дней на нашем сайте.

Помощь сайту
Z306916104788
R135831050833
U350149613257
Заранее спасибо.
Статистика
Rambler's Top100
Онлайн всего: 1
Гостей: 1
Пользователей: 0
Copyright BCorp © 2025