Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Как поместить графический элемент в TListBox

Delphi , Компоненты и Классы , Списки

Как поместить графический элемент в TListBox

Сначала создайте bmp-файл, который вы будете помещать около каждого элемента списка, в примере это 'c:\file.bmp'. Для создания файла можете воспользоваться специальной графической утилитой ImageEditor, которая входит в пакет Delphi. Желательно, чтобы размер файлы был 16х16. После этого вынесите на форму компонент TListBox. Его свойство Style установите в lbOwnerDrawVariable - это позволит нам прорисовывать каждый элемент списка самостоятельно.

Далее объявляем переменную:


var
  Bit: TBitmap;

После этого задаём обработчику события OnDrawItem следующий вид:


procedure TForm1.ListBox1DrawItem(Control: TWinControl; index: Integer;
Rect: TRect; State: TOwnerDrawState);
var
  cc: TCanvas;
begin
  cc:=(Control as TListBox).Canvas;
  cc.FillRect(rect);
  cc.Draw(Rect.Left+Rect.Right-16,Rect.Top,Bit);
  cc.TextOut(Rect.Left,Rect.Top,ListBox1.Items[index]);
end;

а обработчику события OnMeasureItem такой:


procedure TForm1.ListBox1MeasureItem(Control: TWinControl;
index: Integer; var Height: Integer);
begin
  Height := 16;
end;

По созданию окна создаёт Bitmap и загружаем в него данные из файла:


procedure TForm1.FormCreate(Sender: TObject);
begin
  Bit := TBitmap.Create;
  Bit.LoadFromFile('c:\file.bmp');
end;

По уничтожению окна - уничтожаем Bitmap


procedure TForm1.FormDestroy(Sender: TObject);
begin
  Bit.Destroy;
end;

Для поместования графического элемента в TListBox необходимо создать bmp-файл, вынести на форму компонент TListBox, установить его свойство Style в lbOwnerDrawVariable, объявить переменную TBitmap и загрузить в нее данные из файла, а также обработать собы


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: Списки ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-08-19 13:29:56
2024-10-08 17:37:34/0.0053119659423828/1