Я пытаюсь отобразить список продуктов в пределах ListBox
. Ранее загружается запрос, и для каждого элемента заказа я добавляю элемент в ListBox
.
Дело в том, что мне нужно было изменить стиль элемента ListBox
, который после редактирования и сохранения stylebook
добавляется в форму`. В режиме разработки изменения отображаются на экране, но после компиляции он всегда возвращается к стилю по умолчанию.
Я уже отредактировал стиль по умолчанию и пользовательский, пытался применить оба во время выполнения к форме во время onactive
,oncreate
и onshow
.
Я провел тест, создавая новый проект и используя только одну форму, применяя ту же концепцию, и она работала. Но когда я применяю то же самое к проекту, над которым я работаю, это не работает. Я просто не могу применить стиль к проекту.
У кого-нибудь была эта проблема или что-то подобное?
Код, который реализует добавление элементов, приведен ниже:
procedure TfrmVisualPed.Button1Click(Sender: TObject);
var
Item:TListBoxItem;
begin
inherited;
if not DM.qryPedidosItens.IsEmpty then
begin
DM.qryPedidosItens.First;
ListBox1.BeginUpdate;
while not DM.qryPedidosItens.Eof do
begin
Item := TListBoxItem.Create(Nil);
item.StyleLookup := 'listboxitembottomdetail';
item.Width := 150;
item.Height := 150;
if FileExists('D:\TEMP\fotos\' + DM.qryPedidosItensCODIGO_PRODUTO.AsString + '.jpg') then
begin
Item.ItemData.Bitmap.LoadThumbnailFromFile('D:\TEMP\fotos\' + DM.qryPedidosItensCODIGO_PRODUTO.AsString + '.jpg',100,100);
end else
begin
Item.ItemData.Bitmap := imgsemfoto.Bitmap;
end;
Item.ItemData.Text := DM.qryPedidosItensCODIGO_PRODUTO.AsString;
item.Parent := ListBox1;
item.OnClick := Nil;
DM.qryPedidosItens.Next;
end;
ListBox1.EndUpdate;
ListBox1.ItemIndex := 0;
Application.ProcessMessages;
end;
end;
Некоторые скриншоты
Режим конструктора:
Редактировать стиль:
Во время выполнения: