Jump to content

Recommended Posts

Posted

Программно заполняю карусель, чтобы сделать слайдер с картинками. Т.е. на форме лежит пустая карусель:

Заполняю так:

procedure TFormMobile1.LoadImagesPhotos;
var
  i: Integer;
  sPath, s: string;
  LList: TStringDynArray;
  UnimImage: TUnimImage;
  UnimCarouselPage: TUnimCarouselPage;
begin
  if carouselPhotos.PageCount > 0 then
    for i := pred(carouselPhotos.PageCount) downto 0 do
      carouselPhotos.Pages[i].Destroy;

    sPath := IncludeTrailingPathDelimiter(sPath) + Self.IDObj.ToString;
    LList := GetListDocs(sPath);

    if Length(LList) = 0 then
      exit;

    for s in LList do
    begin
      UnimCarouselPage := TUnimCarouselPage.Create(carouselPhotos);
      UnimCarouselPage.Parent := carouselPhotos;

      UnimImage := TUnimImage.Create(UnimCarouselPage);
      UnimImage.Parent := UnimCarouselPage;
      UnimImage.Align := alClient;
      
      UnimImage.Stretch := True;

      if TFile.Exists(s) then
      begin
        UnimImage.Picture.LoadFromFile(s);
        UnimImage.Hint        := s;
        UnimCarouselPage.Hint := s;
      end;
    end;
end;

Картинки отображаются и листать можно.

Потом мне нужно удалить выделенную картинку. И тут проблема: PageCount возвращает 0 (ноль).

На кнопке есть код проверки количества страниц в карусели:
 

if carouselPhotos.PageCount > 0 then

... удалить файл и страницу карусели

 

 

 

Screenshot_17.jpg

Posted

Я так подразумеваю, что не хватет метода для добавления страницы, типа

UnimCarouselPage := TUnimCarouselPage.Create(carouselPhotos);

UnimCarouselPage.Parent := carouselPhotos;

carouselPhotos.Pages.Add(UnimCarouselPage);

Posted

Дошло. После создания страницы, нужна ещё одна строка:

UnimCarouselPage := TUnimCarouselPage.Create(carouselPhotos);
      UnimCarouselPage.Parent := carouselPhotos;
      UnimCarouselPage.Carousel := carouselPhotos;

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...