я сделал пользовательский элемент ListBox для Firemonkey, разработанный с помощью книги стилей. Когда я пытаюсь вставить элементы ListBox, все работает нормально (вставка текста и т. д.), за исключением изменения изображения в элементе ListBox.
Я следовал этому руководству по адресу: http://www.experts-exchange.com/Programming/Languages/Pascal/Delphi/Components/A_10054-Implementing-a-ListView-in-Firemonkey.html.
Вот мой код:
procedure TForm2.Button1Click(Sender: TObject);
var
i : Integer;
LBItem : TListBoxItem;
ItemImage : Timage;
begin
ListBox1.BeginUpdate;
ListBox1.Items.Clear;
try
for i := 0 to 9 do begin
LBItem := TListBoxItem.Create(nil);
LBItem.Parent := ListBox1;
LBItem.StyleLookup := 'rowLayout';
LBItem.StylesData['textName'] := 'Some text...';
LBItem.StylesData['textFormat'] := 'Some more text...';
ItemImage := LBItem.FindStyleResource('picture') as TImage;
if Assigned(ItemImage) then
LBItem.ItemData.Bitmap.LoadFromFile('D:\MyTestPicture.jpg');
end;
finally
ListBox1.EndUpdate;
end;
end;
«rowLayout» — это мой макет в книге стилей, который я сделал для элемента ListBox. "textName" и "textFormat" - это некоторый TText, который я поместил в элемент ListBox. "картинка" - это TImage в моем элементе ListBox.
Что не так с моим кодом? Я работаю с Delphi XE4.
Спасибо за вашу помощь и с наилучшими пожеланиями, Хольгер