游标资源无法正确加载,除非内置VS游标

时间:2019-03-25 05:31:00

标签: visual-studio winapi resources cursor

当我使用内置的游标类型(例如IDC_HANDIDC_ARROW)为窗口设置游标时,例如:

SetCursor(LoadCursor(NULL, MAKEINTRESOURCE(IDC_HAND)));

但是在导入游标资源(下载的游标文件或自定义的游标资源,或者仅通过使用VS创建新的游标资源)时,游标不会变差:

SetCursor(LoadCursor(NULL, MAKEINTRESOURCE(IDI_ICON1)));

OR

SetCursor(LoadCursor(NULL, MAKEINTRESOURCE(IDC_CURSOR1)));

resource.h

#define IDI_ICON1                       101
#define IDC_CURSOR1                     102

resource.rc

IDI_ICON1               ICON                    "custom_cursor.cur"
IDC_CURSOR1             CURSOR                  "cursor1.cur"

如您所见,由于某种原因,我的自定义光标在resource.rc中保存为“ ICON”。

IDC_CURSOR1是由VS资源工具制作的,除了内置的游标之外,它们都不起作用。

当程序运行时光标没有改变,而是显示黑色箭头,但是如果用于ex IDC_ARROWIDC_HAND则可以正常工作。

这可能是导致无法使用自定义光标的原因。

顺便说一句。我可以在Windows鼠标设置中设置自定义光标,但在VS中不起作用。

编辑:

我刚刚了解到从文件加载游标是可行的。例如:

LoadCursorFromFile(L"custom_cursor.cur");

但是无法从资源加载,我更喜欢将资源编译成可执行文件,因此我仍在寻找答案。

0 个答案:

没有答案