为什么位图没有显示在ListView中

问题描述 投票:0回答:1

在Delphi Rio 10.3.3中,我创建了一个新的FMX应用程序,并在表单上放置了三个组件。 TButton,TIm​​ageControl和TListView的大小约为600x400。在Button1Click中,我有:

    var LItem: TListViewItem;      
    begin
    LItem := ListView1.Items.Add;
    LItem.Height := 250;
    LItem.Bitmap.LoadThumbnailFromFile('My.jpg', 160, 120, False); 
    LItem.Text := 'Text';
    ImageControl1.Bitmap := LItem.Bitmap; 
    ShowMessage(IntToStr(LItem.Bitmap.Width) + ' x ' + 
                IntToStr(LItem.Bitmap.Height));

我不明白的是ListViewItem的位图如何显示预期的尺寸,该尺寸比ListView中的元素小得多,并且该位图可以复制到单独的ImageControl中,看起来像预期的那样,但是ListViewItem的位图却没有出现在ListView中。 ListViewItem的文本确实出现在ListView中,但是无论我保留还是删除它,都不会显示位图。将缩略图大小减小到这些值的一半不会导致在位图中显示图像。

我是否缺少适用于在ListView中显示ListViewItem.Bitmap的步骤?

例如,LItem.Text在给LItem.Bitmap要求其他处理的情况下,除了给它一个值外,没有其他任何显示吗?

我正在查看名为SampleListViewAddThumbnailAndCaption的示例应用程序的工作方式,但是有点费解,它依赖于ListViewItem.BitmapRef,它并不是一个完全记录的属性,因此它可能只是一个错误,因为它指向不可见的Image。此外,示例应用程序将“ TI”的值用作缩略图名称,但我没有发现它是否有意义或另一个假名。

listview delphi bitmap listviewitem
1个回答
0
投票

解决方案是使用在示例应用程序ListViewAddThumbnailAndCaption中找到的TListItemImage来使用该技术,但是这种方法并不立即显而易见,因此尽管我在发布问题之前就尝试了该方法,但该方法似乎没有起作用,这导致我我的帖子

之所以无法使用该方法,是因为图像被放置在ListView尺寸之外。一旦我解决了,剩下的就变成了调整的问题。

© www.soinside.com 2019 - 2024. All rights reserved.