SDLで後からアイコンを変更したい

SDLにはSDL_WM_SetIconてのがあるんだけどInitする前に呼ばなきゃいけないとか不便すぎる。

HICON hIcon = (HICON)LoadImage(
                   (HINSTANCE)GetModuleHandle(0),
                   MAKEINTRESOURCE(IDI_ICON1),
                   IMAGE_ICON, 0, 0, LR_DEFAULTCOLOR );
SendMessage( hWnd, WM_SETICON, ICON_BIG, (LPARAM)hIcon );
DestroyIcon( hIcon );


メニューを付ける関係上hWndは取得出来てたので上のようにやれば後から無事アイコンが変更できた。
なんかググるとICON_SMALLになってたりするけど、それだと表示されなかった。


多分読み込んだアイコンの大きさで変えないとダメなんだと思う。
試してないけど。


しかしWin32のAPIはどこでDestroy/Releaseするのか良くわかんないよう。
大体すぐ解放しちゃって良いみたいなんだけど、たまにそうじゃないのがあったりしたような。


ちなみにhWndの取得の仕方はキャプションで列挙したウインドウの中から探してハンドル取ってきてます。