名前が「1」というのは、あまり礼儀が良くないです。 今回は、リソースデータにちゃんとした名前を付けることにします。
MyProject_res.rcをRisohEditorで開いて下さい。 「リソースIDの一覧」を右クリックして、「追加...」を選んで下さい。
「リソースIDの追加」ダイアログが表示されますので、「IDの名前」欄で 「IDD_MAINDLG」と入力します。そして「自動」ボタンを押します。 次のようになりますね。
「OK」ボタンを押すと、「リソースIDの一覧」に「IDD_MAINDLG」が追加されます。
100という値のリソースID「IDD_MAINDLG」が追加されたのです。 次に、RisohEditorのウィンドウの左側のツリービューの[+]をクリックします。
「1」と「日本語 (日本) (1041)」が表示されましたね。ここで「1」をクリックして、 キーボードの「F2」を押します。
「1」が編集できるようになるので、「100」と入力してEnterキーを押します。
すると、ダイアログリソースの名前が「IDD_MAINDLG」となります。
さらに、「IDI_MAINICON」というリソースIDを追加しましょう。 「リソースIDの一覧」を右クリックして、「追加」を選びましょう。
「リソースIDの追加」ダイアログが表示されるので、 「IDの名前」に「IDI_MAINICON」と入力して、「自動」ボタンを押しましょう。 次のようになるはずです。
「OK」ボタンをクリックします。次のように、100という値のIDI_MAINICONというリソースIDが追加されます。
適当なアイコンファイル(拡張子:.ico)を用意します。 「無料アイコン ダウンロード」をウェブ検索 して、適当なアイコンファイルを見つけましょう。
RisohEditorの「編集」メニューから「追加」→「アイコンを追加」を選びます。 次のような「アイコンの追加」ダイアログが表示されます。
「参照」ボタンを押して、適当なアイコンファイルを指定します。
「リソースの名前」で、「IDI_MAINICON」を選び、「OK」ボタンをクリックします。
RisohEditorのツリービューの項目に、RT_ICONとRT_GROUP_ICONが追加されます。 ファイル「MyProject_res.rc」にエクスポートして下さい。
MyProjectフォルダに「resource.h」というヘッダーファイルと「res」というフォルダが追加されます。 「resource.h」の中身を見てみましょう。
//{{NO_DEPENDENCIES}}
// Microsoft Visual C++ Compatible
// MyProject_res.rc
#define IDC_STATIC -1
#define IDD_MAINDLG 100
#define IDI_MAINICON 100
#ifdef APSTUDIO_INVOKED
#ifndef APSTUDIO_READONLY_SYMBOLS
#define _APS_NO_MFC 1
#define _APS_NEXT_RESOURCE_VALUE 100
#define _APS_NEXT_COMMAND_VALUE 100
#define _APS_NEXT_CONTROL_VALUE 1000
#define _APS_NEXT_SYMED_VALUE 300
#endif
#endif
IDD_MAINDLGとIDI_MAINICONのリソースIDの定義が追加されています。 次は、resというフォルダの中身を見てみましょう。
「1041_Icon_100.ico」というアイコンファイルが作成されています。
IDを変更したので、MyProject.cppに反映させます。MyProject.cppを開きます。
MyProject.cppの上の方のインクルードに「#include "resource.h"」を追加します。
#include "targetver.h"
#include "MWindowBase.hpp"
#include "resource.h"
StartDxメソッドを次のように変更します。
BOOL StartDx(INT nCmdShow)
{
m_hIcon = LoadIconDx(IDI_MAINICON);
m_hIconSm = LoadSmallIconDx(IDI_MAINICON);
return TRUE;
}
MMainDlgのコンストラクタを次のように変更します。
MMainDlg(INT argc, TCHAR **targv, HINSTANCE hInst)
: MDialogBase(IDD_MAINDLG), m_argc(argc), m_targv(targv), m_hInst(hInst),
m_hIcon(NULL), m_hIconSm(NULL)
{
}
makeを実行して、再ビルドしましょう。
ビルド成功です。MyProject.exeのアイコンが変わっているのが確認できます。実行して試してみて下さい。
ダイアログのアイコンも変更されています。