x11 Posted July 17, 2020 Posted July 17, 2020 Программно заполняю карусель, чтобы сделать слайдер с картинками. Т.е. на форме лежит пустая карусель: Заполняю так: 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 ... удалить файл и страницу карусели Quote
x11 Posted July 17, 2020 Author Posted July 17, 2020 Я так подразумеваю, что не хватет метода для добавления страницы, типа UnimCarouselPage := TUnimCarouselPage.Create(carouselPhotos); UnimCarouselPage.Parent := carouselPhotos; carouselPhotos.Pages.Add(UnimCarouselPage); Quote
x11 Posted July 17, 2020 Author Posted July 17, 2020 Дошло. После создания страницы, нужна ещё одна строка: UnimCarouselPage := TUnimCarouselPage.Create(carouselPhotos); UnimCarouselPage.Parent := carouselPhotos; UnimCarouselPage.Carousel := carouselPhotos; Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.