はじめに
作ったゲームのアプリアイコンを自作の物に変える方法をメモがてら残します。
目指す形はこんな感じ
エクスプローラ上でのアイコン
ウィンドウの左上のアイコン
タブでのアイコン
環境
・VisualStudio2022:17.11.2
・GIMP:2.10.34 .ico形式で出力できるソフトであればなんでもいいです。
・C++Ver20
アイコンを作る
完成したらファイルの名前を"icon.ico"、場所を指定してエクスポートをクリック。
ファイルの形式の選択から Mincrosoft Windowsアイコン を選択したら拡張子が自動で".ico"になります。
プルダウンメニューから8bpp, 1bitアルファ、256色パレット選択。
プルダウンメニューの左に作ったアイコンが表示されると思います。
圧縮にチェックは入れずにエクスポート。
GIMPでの作業は終了!
作ったアイコンを組み込んでいく
プロジェクトフォルダにicon.icoをコピーします。
そしたらプロジェクトを開いて
追加→リソース
すると<プロジェクト名>.rcファイルとresource.hが自動で作られます。
.rcを右クリックしてコードを表示。
色々出てくるけど"はい"でOK。
スクロールしていくとこんなのがあると思います。
インポートした"icon.ico"がいますね。
/////////////////////////////////////////////////////////////////////////////
//
// Icon
//
// Icon with lowest ID value placed first to ensure application icon
// remains consistent on all systems.
IDI_ICON1 ICON "icon.ico"
#endif // 日本語 (日本) resources
/////////////////////////////////////////////////////////////////////////////
resource.h
開くとこんなのができてます。
//{{NO_DEPENDENCIES}}
// Microsoft Visual C++ で生成されたインクルード ファイル。
// 24_04_24_.rc で使用
//
#define IDI_ICON1 101
IDI_ICON1っていうのが.rcと共通していることが大事だと思われる。
main.cpp
この部分を
wcex.hIcon = nullptr;
こうします
#include "resource.h"
wcex.hIcon = (HICON)LoadImage(wcex.hInstance, MAKEINTRESOURCE(IDI_ICON1), IMAGE_ICON, GetSystemMetrics(SM_CXICON), GetSystemMetrics(SM_CYICON), 0);
ビルド!
そうするとアイコンが設定されていると思います。
実行して確認すると
成功!!
お疲れさまでした。