Проблемы с StyleBook Delphi 10.2 - PullRequest
0 голосов
/ 16 октября 2019

Я пытаюсь отобразить список продуктов в пределах 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;

Некоторые скриншоты

Режим конструктора: enter image description here

Редактировать стиль: enter image description here

Во время выполнения: enter image description here

...