RegisterClassExは、ウィンドウクラスを登録するWindowsAPI・・・。
この関数で登録する構造体はWNDCLASSEXとなる・・・。
WNDCLASSとの違いは、構造体のサイズを指定するところと、大きなアイコンとは別に小さなアイコンを設定できるところぐらい・・・。
プロジェクトを作成したら、リソースを追加・・・。
Iconをインポート・・・。
予めプロジェクトファイルのところに置いておいたicon1.icoをインポート・・・。
(resource.hやRegisterClassEx.rcは手動で編集しない・・・。このあとアイコンが正しくロードされない場合があるので・・・。)
RegisterClassEx.cppでは、
WNDCLASSEX構造体wcexの初期化・・・。
cbSizeにsizeofで求めたWNDCLASSEX構造体のサイズを指定・・・。
大きいアイコンhIconは、IDI_ICON1(icon1.ico)を指定・・・。
小さいアイコンhIconSmは、既定のIDI_APPLICATION・・・。
RegisterClassExだからといって、CreateWindowExでなければならないわけではない・・・。
なのでCreateWindowでウィンドウ作成・・・。
タスクバーの大きいアイコンは独自アイコンなのに対し、タイトルバーの左の小さなアイコンはアプリケーション既定のものとなっている・・・。
こういう風に別々のアイコンをセットできる・・・。