ImageList_Add呼び出しが失敗する理由を特定できないため、混乱しています。私はそれが私がイメージで間違っていることであるに違いないことを知っています、あるいは私はそれを間違っていると呼んでいるかもしれませんが、私はそれを修正する方法がわかりません:Sあなたが提供できる助けをいただければ幸いです!:)
私が使用しているコードは以下のとおりです。画像リストに追加できなかったという出力がコンソールに表示されます。ドキュメントから、ImageList_Addは、画像リストのどこに画像を追加したかを示すインデックスを返すため、できない場合は-1が返されます。
これはすべてうまくいっていますが、追加が失敗する理由/原因はどこにも見つかりません!
コードにメモリリークがある可能性がありますが、現時点では、これに関するさまざまな問題を理解するためにほぼ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;
}
おかげさまで、どんな助けでも大歓迎です!:)
これは、実際の画像が破損しているという問題でしょうか?私はそれについていくつかの場所で読んだことがあります..私が何もしていなければ、運が良かったかもしれません:)