gpt4 book ai didi

c - 添加到 HIMageList 失败,无法找出原因

转载 作者:行者123 更新时间:2023-11-30 17:59:12 25 4
gpt4 key购买 nike

我很困惑,因为我无法确定为什么我的 ImageList_Add 调用失败。我知道这一定是我对图像做错了,或者也许我把它称为错误的,但我不知道如何修复它:S 如果您能提供任何帮助,我们将不胜感激! :)

我正在使用的代码如下。我在控制台上收到输出,表示无法添加到图像列表。从文档中,ImageList_Add 将返回一个索引,指示它在图像列表中成功添加图像的位置,因此如果无法添加图像,则返回 -1。

这一切都很好,但我无法在任何地方找到导致添加失败的原因/原因!

代码可能存在内存泄漏,尽管目前,我花了几乎一天的时间试图找出与此相关的各种问题,所以我只想让它工作!

    HIMAGELIST imageList = ImageList_Create(20,20,ILC_COLOR16,1,2 );
if (imageList == NULL)
{
printf("Error creating imagelist - dlg_create_dropdown_menu. Returning NULL\n");
return NULL;
}

HBITMAP currentImage = (HBITMAP) LoadImage(NULL,"active_mdoe_icn.bmp",IMAGE_BITMAP,0,0,LR_LOADFROMFILE);
if (currentImage == NULL)
{
if (GetLastError()== 2)
{
printf("File not found - dlg_create_dropdown_menu. Returning NULL.\n");
return NULL;
}
printf("Error loading image from file - dlg_create_dropdown_menu. Returning NULL.\n");
return NULL;
}
int imageIndex;
if ( (imageIndex = ImageList_Add(imageList,currentImage,NULL)) == -1 )
{
printf("Error adding to the image list - dlg_create_dropdown_menu. Returning NULL.\n");
return NULL;
}

谢谢大家,我们将不胜感激! :)

这可能是实际图像损坏的问题吗?我在一些地方读过相关内容。如果我没有做任何愚蠢的事情,可能只是我的运气:)

最佳答案

在与自己和 Windows 多次争论之后,我不明白为什么添加不起作用。

我没有尝试使用图像列表,而是以这种方式一次加载每个图像。不知道为什么我认为使用图像列表更好:s

我试图将图像加载到我正在创建的下拉菜单中,但我找到了更好的方法。这是使用 MENUITEMINFO 结构并指定 MIIM_BITMAP | MIIM_STRING 作为 fMask 的两个标志:) 这意味着我可以在每个菜单项中都有一个图像和一个文本:)

此外,带有 0 下划线的图像名称以某种方式使 Windows 更容易找到哈哈

无论如何,希望这对某人有帮助:)

关于c - 添加到 HIMageList 失败,无法找出原因,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11630313/

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