MFCでCStaticにicon表示する方法

アイコンリソースの追加: まず、使用したいアイコンをリソースとしてプロジェクトに追加します。リソースビューで新しいアイコンリソースを追加し、それに一意のIDを割り当てます。

CStatic コントロールの準備: ダイアログエディタを使用して、ダイアログに CStatic コントロールを追加します。このコントロールは、SS_ICON スタイルを持つように設定する必要があります。

アイコンのロードと設定: ダイアログの初期化時(例えば、OnInitDialog など)に、アイコンリソースをロードして、CStatic コントロールに設定します。

普通にやると一番小さいアイコンで表示するので、大きいiconで表示させるには以下のようにする。

BOOL CYourDialog::OnInitDialog()
{
    CDialog::OnInitDialog();

    // 大きいアイコンをロードする
    HICON hLargeIcon = (HICON)::LoadImage(
        AfxGetInstanceHandle(),
        MAKEINTRESOURCE(IDI_LARGE_ICON), // 大きいアイコンのリソースID
        IMAGE_ICON,
        64, 64, // ここでアイコンのサイズを指定
        LR_DEFAULTCOLOR
    );

    // CStatic コントロールに大きいアイコンを設定
    CStatic* pStaticIcon = (CStatic*)GetDlgItem(IDC_YOUR_STATIC_ICON);
    if (pStaticIcon != nullptr && hLargeIcon != nullptr)
    {
        pStaticIcon->SetIcon(hLargeIcon);
    }

    return TRUE;
}