Перейти к содержанию
Fire Monkey от А до Я

Виктор

Пользователи
  • Постов

    30
  • Зарегистрирован

  • Посещение

  • Победитель дней

    2

Сообщения, опубликованные Виктор

  1. На примере image, но не получилось не с одним...

    Image:=TImage.Create(FForder);
    Image.Parent:=FForder.ScrollBox1;
    Image.Name:='Image'+inttostr(Count);
    Image.Visible:=True;
    Image.Height:=200;
    Image.Width:=200;
    Image.Position.X:=Count*WCount;
    Image.Position.Y:=Round(Count/WCount)*200;
    Image.Bitmap.LoadFromFile(FForder.Memo1.Lines[Count-1]);
    

    Пробовал и с кнопкой и с label

    Button:=TButton.Create(FForder);
    Button.Parent:=FForder;
    Button.Visible:=True;
    Button.Height:=200;
    Button.Width:=200;
    Button.Position.X:=200;
    Button.Position.Y:=200;
    Button.BringToFront;
    Button.Text:='sdf';
    Button.Name:='Button'+inttostr(Count+2);
    Button.Align:=TAlignlayout.alClient;
    FForder.ScrollBox1.Repaint;
    

    Не появляется компонент на форме и все тут... Я уже даже растягивание поставил, что бы точно убедиться что он не создается за пределами формы. 

    Вопрос. Подскажите пожалуйста, что я делаю не так?

  2. Спасибо, я уже разобрался, всё дело было в том что требуется задавать обработчики событий для элементов стилей еще и в OnApplyStyleLookup задавать иначе они затираются.

  3. Я создаю элементы дерева следующим способом:

    procedure TFForder.ComboBox1Change(Sender: TObject);
    var
      It: TTreeViewItem;
      i: integer;
      Dir: Tstringdynarray;
      Click1: TNotifyEvent;
    begin
      dir := TDirectory.GetDirectories(ComboBox1.Selected.Text, '*', TSearchOption(2), FilterPredicate);
      Treeview1.Clear;
      Button1.OnClick := Click;
      for I := 0 to length(Dir) do
      begin
        with It do
        begin
          It := TTreeViewItem.Create(Self);
          Parent := Treeview1;
          Text := TPath.GetFileName(Dir[i]);
          It.StyleLookup := 'Tree';
          It.StylesData['button.OnClick'] := TValue.From<TNotifyEvent>(Click);
          It.StylesData['text.Text'] := 'sdf';
          TreeView1.AddObject(It);
          AddObject(TTreeViewItem.Create(It));
        end;
      end;
    end;
    
    Все элементы создаются корректно, но я не хочу нагружать старт программы загрузкой всех директорий, поэтому хочу подгружать дочернии элементы по мере открытия дерева. Для этого задаю элементу (я написал свой стиль для элементов дерева, нем содержится только кнопка для теста и текст) стиль 
    It.StyleLookup := 'Tree';

    И присваиваю кнопке в этом стиле обработчик onClick. Но этот обработчик не срабатывает при нажатии. Я не могу понять почему. Так же для тестирования я присваиваю дочернему элементу свойство текст, но и этого не происходит. Помогите разобраться.


    На всякий случай уточню, HitText выставлен в true для кнопки и в false для всех остальных элементов (а их в стиле всего три, кнопка текст и layout
×
×
  • Создать...