Я создал пользовательский элемент ListBox Firemonkey, разработанный в стилевой книге. Когда я пытаюсь вставить элементы ListBox, все работает нормально (вставлять текст и т. Д.), Кроме как изменить изображение в элементе ListBox.Firemonkey ListBox Элемент с изображением
Я следовал этому руководству по: http://www.experts-exchange.com.
Вот мой код:
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" мой макет в Stylebook, я сделал для ListBox пункта. «textName» и «textFormat» - это некоторые TText, которые я разместил в элементе ListBox. «picture» - это TImage в моем элементе ListBox.
Что происходит с моим кодом? Я работаю с Delphi XE4.
Спасибо за вашу помощь и наилучшими пожеланиями, Holger
Привет, Питер, спасибо за ваш ответ! Я подробно рассмотрел папку Demo, но когда я попытался реализовать ее в своей программе, она работает с изображением. Но теперь я немного поиграл с «именем стиля». И я узнаю, когда я использую имя стиля: «icon», а затем работает следующий код: LBItem.ItemData.Bitmap.LoadFromFile (папка + '\' + TJSONPair (item) .JsonValue.Value); Когда я изменил имя стиля с моего изображения на что-то еще, он работает доцент. С уважением, Holger – HolgerH
@HolgerH что именно означает «стиль имя»? Это свойство StyleName из ListBox? Или это 'LBItem.FindStyleResource ('icon')' решение? – Machado