gpt4 book ai didi

c# - 从资源中加载嵌入的动画 Cursor

转载 作者:太空宇宙 更新时间:2023-11-03 22:19:57 25 4
gpt4 key购买 nike

我在资源中有一个动画光标文件 (*.ani),我想在我的应用程序中将其显示为光标。如何从资源中加载它?

我在网上查了一下,但是只有当你有一个真实的文件并且它没有嵌入到资源中时,才能显示它。

最佳答案

//这里的from resources修改是:调用byte[]变量资源

//Yvan Genesse 修改的类

public class AdvancedCursorsFromEmbededResources

{

// modified by Yvan Genesse November 29 2010

// C# example tested in MS Visual Studio 2010 Ultimate version
// University Student in E-Business @ Laurentian University

// in your form code
/*
try
{
// from file
//this.Cursor = AdvancedCursors.Create(Path.Combine(Application.StartupPath, "flower_anim.ani"));
// from resouces modification here is : byte[] resource in the call
byte[] Embeded_Cursor_Resource = Properties.Resources.flower_anim; // the animate cursor desired
this.Cursor = AdvancedCursorsFromEmbededResources.Create(Embeded_Cursor_Resource);

// or this way also works
this.Cursor = AdvancedCursorsFromEmbededResources.Create(Properties.Resources.flower_anim);
}
catch (Exception err)
{
MessageBox.Show(err.Message);
}

*/



[DllImport("user32.dll")]
static extern IntPtr CreateIconFromResource(byte[] presbits, uint dwResSize, bool fIcon, uint dwVer);

// modification here is : byte[] resource in the call
public static Cursor Create( byte[] resource)
{
IntPtr myNew_Animated_hCursor;

//byte[] resource = Properties.Resources.flower_anim;

myNew_Animated_hCursor = CreateIconFromResource(resource, (uint)resource.Length, false, 0x00030000);

if (!IntPtr.Zero.Equals(hCursor))
{
// all is good
return new Cursor(myNew_Animated_hCursor);
}
else
{ // resource wrong type or memory error occurred
// normally this resource exists since you had to put Properties.Resources. and a resource would appear and you selected it
// the animate cursor desired is the error generator since this call is not required for simple cursors



throw new ApplicationException("Could not create cursor from Embedded resource ");
}
}


}

关于c# - 从资源中加载嵌入的动画 Cursor,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3498898/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com