Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么位图不显示在ListView中_Listview_Delphi_Bitmap_Listviewitem - Fatal编程技术网

为什么位图不显示在ListView中

为什么位图不显示在ListView中,listview,delphi,bitmap,listviewitem,Listview,Delphi,Bitmap,Listviewitem,在Delphi Rio 10.3.3中,我创建了一个新的FMX应用程序,并在表单上放置了三个组件。t按钮、TImageControl和TListView,约为600x400。在按钮1中,单击我有: var LItem: TListViewItem; begin LItem := ListView1.Items.Add; LItem.Height := 250; LItem.Bitmap.LoadThumbnailFromFile('My.jpg

在Delphi Rio 10.3.3中,我创建了一个新的FMX应用程序,并在表单上放置了三个组件。t按钮、TImageControl和TListView,约为600x400。在按钮1中,单击我有:

    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.Bitmap需要一些其他处理时,LItem.Text除了给它一个值之外,怎么会没有任何东西出现呢


我正在研究名为SampleListViewAddThumbnailAndCaption的示例应用程序是如何工作的,但它有点复杂,并且依赖于ListViewItem.BitmapRef,它不完全是一个文档化的属性,因此它可能只是一个混球,因为它指向一个不可见的图像。此外,示例应用程序使用了一个值“TI”作为缩略图名称,我还没有发现这是否有意义或是另一个伪名称。

解决方案是使用示例应用程序ListViewAddThumbnailAndCaption中的TListItemImage来使用该技术,但这并不是很明显,因此,尽管我在发帖之前尝试过这种方法,但它似乎不起作用的事实让我找到了我的帖子

这种方法不起作用的原因是图像被放置在ListView的维度之外。一旦我解决了这个问题,剩下的就成了调整的问题