Gobble up pudding

プログラミングの記事がメインのブログです。

MENU

アプリケーションにアイコンを追加する方法

スポンサードリンク

f:id:fa11enprince:20200628231223j:plain
アプリケーションにアイコンを追加する方法です。
追加方法は言語によって異なりますが、C++での説明をします。
アイコン用の画像はICO形式(拡張子 .ico)でなくてはいけません。
一番お手軽なのはPNG形式のファイルなどから変換してやる方法です。
C#の場合はICOファイルを用意さえしてあげればもっと簡単にできますが……。

画像の作成・入手

自作してもいいですしネットから検索して画像を入手しましょう。
ここを使わせていただきました。
http://sozai.7gates.net/docs/claudia01/

画像の変換

ここでPNGファイルを次のツールで変換します。

各種画像ファイルを、ICO 形式のアイコンファイルに変換してくれるソフト。
JPG / PNG / BMP / GIF / JPEG / WMF / EMF / TIFF / TIF / ICO 形式の画像ファイルを元に、複数のサイズ表示(16x16 ~ 512x512)に対応したマルチアイコンを一発生成することができます。
ICO / ICL / EXE / DLL / OCX ファイルから、アイコンを抽出する機能も付いています。

http://www.gigafree.net/tool/icon/QuickAny2Ico.html

Quick Any2Ico

VC++プロジェクトに画像を追加

できたICOファイルを次のようにVisual Studioから
「既存の項目」から追加してやります。
f:id:fa11enprince:20150503105711p:plain

コード作成

Resource.h

#define ID_ICON 101

Resource.rc

VC++から作成すると
なにやらデフォルトでたくさん書かれていますが、
すべて消して書き換えます。
右クリック > コードの表示で書き換えられます

#include "Resource.h"
ID_ICON ICON "icon/claudia01-001.ico"

あとはmainの処理の最初のあたりでSetWindowIconIDを記述します。

#include "Resource.h"

... 省略
SetWindowIconID( ID_ICON );

f:id:fa11enprince:20150503111636p:plain
なおエラーが出た場合はここを参考に
http://shasscaym.blog.fc2.com/blog-entry-27.html
私も改行を入れずにエラーを出してしまいました。

うまくいくとこんな感じでアイコンが出ます。
f:id:fa11enprince:20150503111921p:plain
なお、このソースコードなどはこちら
gup.monster