読者です 読者をやめる 読者になる 読者になる

CWnd::SetIcon

MFC Sample

CWnd::SetIconは、ウィンドウにアイコンをセットするメンバ関数・・・。

CWnd::SetIcon

CDialogは当然CWndの派生クラスなので、これでダイアログにアイコンをセットする・・・。

f:id:BG1:20160119134615p:plain

CWnd_プロジェクトを作成・・・。

f:id:BG1:20160119134719p:plain

これまでと違うのはシステムメニューにチェックを付ける事・・・。

f:id:BG1:20160119134833p:plain

こんなファイル一覧になったら、

f:id:BG1:20160119135054p:plain

WindowsAPIカテゴリのトピックなどで使ったicon1.icoをresフォルダに置く・・・。
そして、

f:id:BG1:20160119134928p:plain

リソースを追加する・・・。

f:id:BG1:20160119135308p:plain

Iconでインポート・・・。

f:id:BG1:20160119135342p:plain

[ファイルの種類]をアイコンファイルにして、icon1.icoを選択・・・。

f:id:BG1:20160119135545p:plain

リソースIDはIDI_ICON1に自動的になっている・・・。

さてコードだが、CWnd_Dlg.cppに、

AfxGetAppでアプリケーションオブジェクトポインタを取得したら、
WindowsAPIのLoadIconにm_hInstanceとIDI_ICON1を渡して、アイコンをロード・・・。
取得したアイコンのハンドルhIconをSetIconでセットする・・・。
第2引数にTRUEを指定すると、Windows7のタスクバーの部分に表示される大きいアイコンが差し替えられる・・・。
FALSEだと、タイトルバーの小さなアイコンが差し換えられる・・・。

f:id:BG1:20160119141629p:plain

タイトルバーのアイコンも、タスクバーのアイコンも差し換わってる・・・。

Sample/CWnd_.h at master · bg1bgst333/Sample · GitHub
Sample/CWnd_.cpp at master · bg1bgst333/Sample · GitHub
Sample/CWnd_Dlg.h at master · bg1bgst333/Sample · GitHub
Sample/CWnd_Dlg.cpp at master · bg1bgst333/Sample · GitHub
Sample/resource.h at master · bg1bgst333/Sample · GitHub
Sample/CWnd_.rc at master · bg1bgst333/Sample · GitHub
Sample/stdafx.h at master · bg1bgst333/Sample · GitHub
Sample/stdafx.cpp at master · bg1bgst333/Sample · GitHub