我想在Timage上显示load .cur文件。显示为图像。而不是setcursor。
我尝试过
var ico:= TIcon.Create;
var bm:=Tbitmap.Create;
ico.LoadFromResourceName(Hinstance,'spy_cur');
ico.AssignTo(bm);
//Panel6.Brush.Bitmap:=bm; do not work.
//Image2.Picture.Bitmap:=bm; do not work.
//DrawIconEx(image2.Canvas.Handle,0,0,ico.Handle,32,32,0,0,DI_Normal); do not work.
字符串
怎么做?
cur文件不是ico文件. Image2.Picture.Bitmap:=bm; image2.Picture.Graphic:=ico;不是工作。
1条答案
按热度按时间eulz3vhy1#
TImage组件有一个Picture属性,它是对TPicture对象的引用,该对象包含许多处理图形的方法。
其中最有用的方法之一是Assign,它允许您将任何兼容的Graphic对象分配给TPicture类。分配方法确定您试图自动分配的图形。
因此,在您的示例中,在TImage上显示图标的代码如下所示:
字符串
编辑:如果你有图标存储为单独的文件,你甚至可以用
Image1.Picture.LoadFromFile('MyIconFile.ico');
将它们加载到你的图像中。所以在这种情况下不需要使用TIcon
类。PS:如果你想显示一些其他的图像类型,如PNG或JPEG,你可能需要添加相应的单元来处理这些图像类型到使用部分。
VCL.Graphics
单元包含一些可用图像类型所需的代码。是的,有第三方库,您可以添加到您的程序,以添加对更多图像类型的支持。
EDIT2:我忽略了你试图显示光标资源。为了将光标资源加载到Icon,您需要使用类似tihs的代码:
型
PS:当我在一个新的 Delphi 应用程序上尝试这个时,我得到了一个错误,即无法找到特定的资源。因此我猜您可能正在向应用程序添加自定义游标资源。