正如标题所述,我试图编写一个简单的窗口程序,但是当我试图更改我的TreeView图标时,它就出错了。我很确定我的图标是被加载的,因为我做了这个:
HICON hIcon;
//hinst is my global variable
hIcon = LoadIcon(hinst,(char*)IDI_ICON_MAIN);
if (hIcon == NULL)
{
MessageBox(NULL, "LoadIcon failed", "error", MB_OK);
}它工作得很好,然后我使用ImageList_ReplaceIcon()
if (ImageList_ReplaceIcon(iml, 3, hIcon) == -1)
{
MessageBox(NULL, "replace icon failed", "error", MB_OK);
}
TreeView_SetImageList(hwndTV, iml, TVSIL_STATE);首先,我想,可能是因为我在ImageList_Create()中输入了错误的ImageList_Create(),然后我重新检查了图标的位置,然后重置了参数,但它仍然不能工作。
有人能告诉我什么是不对劲的吗?我已经查过谷歌了,看了很多次的文档,也许我漏掉了什么?
更新 2022/05/31
这是我的TreeView:

我想把我的图标换成红色的圆圈。
发布于 2022-05-31 05:38:19
我现在可以看到我的图标了,谢谢。我很感激那些给我建议的人。
只有在我已经向ReplaceIcon()中添加了图标时,才能使用它。如果其中没有图标,那么我可以使用的唯一条件是将索引设置为-1,以便ReplaceIcon()可以为我添加图标。
https://stackoverflow.com/questions/72437379
复制相似问题