Цветные строки в TListBoxDelphi , Компоненты и Классы , СпискиЦветные строки в TListBox
Оформил: DeeCo procedure TForm1.FormCreate(Sender: TObject); begin //Or set this property in the object inspector //Oder im Objekt Inspektor einstellen ListBox1.Style := lbOwnerDrawFixed; end; procedure TForm1.ListBox1DrawItem(Control: TWinControl; Index: Integer; Rect: TRect; State: TOwnerDrawState); begin with Control as TListBox do begin Canvas.FillRect(Rect); Canvas.Font.Color := TColor(Items.Objects[Index]); Canvas.TextOut(Rect.Left + 2, Rect.Top, Items[Index]); end; end; procedure TForm1.Button1Click(Sender: TObject); begin ListBox1.Items.AddObject('Red Item', Pointer(clRed)); end; procedure TForm1.Button2Click(Sender: TObject); begin ListBox1.Items.AddObject('Green Item', Pointer(clGreen)); end; Программа на Delphi! Код, который я предоставил, - это простой пример использования техники владельческого рисования для окрашивания элементов в контроле TListBox. Вот что каждый процедура делает:
Вот что происходит внутри этой процедуры:
Теперь давайте посмотрим на обработчики событий клика кнопок:
Обратите внимание, что в Delphi невозможно напрямую связать цвет с элементом в списке. Вместо этого нужно хранить цвет как объект (в этом случае, типа В целом, это код демонстрирует, как создать colorful TListBox control, используя технику владельческого рисования и настраивая внешний вид каждого элемента. В статье описывается, как создать в Delphi цветные строки в TListBox с помощью обработки события DrawItem и использования объектов для хранения цвета каждой строки. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |