В превыдущем уроке я рассказывал как можно просто и быстро добавить картинки Listbox. В этом уроке мы постараемся немного удучшить и усложнить код, тем самым добавим несколько елементов. Ну начнём. Создадим новый проэкт и кинем на форму Listbox. После этого также кидаем TImage и можно TButton(для добавления item-ов). Создаём обработчик события OnDrawItem у ListBox1 и прописываем. Code procedure TForm1.ListBox1DrawItem(Control: TWinControl; Index: Integer; Rect: TRect; State: TOwnerDrawState); begin
with (control as tlistbox).Canvas do begin brush.Color := clwhite; //цвет прямоугольника(в item-e) pen.Color := clgray; //цвет рамки прямоугольника font.Color := clblack; //цвет текста font.Name := 'tahoma'; //шрифт font.Size := 15; //размер текста listbox1.ItemHeight := 40; //высота item-a fillrect(rect); // очищаем прямоугольник draw(rect.Left, rect.Top, // это положение рисунка image1.Picture.Bitmap); //рисуем в нём картинку textout(rect.Left + 50, rect.Top + 12, //положение текста listbox1.Items[index]); //Выводим текст end; end; Запускаем приложение. Получается неплохо! Для того что б можно было исспользовать разные ситуации(выбран, наведён...) нужно исспользовать: Code if (State = [odFocused, odSelected]) or (State = [odSelected]) then begin ..... Ну вот урок окончен, желаю удачи и до скорых встреч.
|