【VC++】VS2017のダイアログベースでビルドエラーとなる場合の対応

0

    <現象>

    Visual Studio2017のダイアログベースでリソースを編集するとビルドエラーとなる

    (英語版では発生しないが日本語版では発生する)

    RC2135 file not found

    VC++,RC2135file not found,MFC,
     

    再現手順は以下の通り

    1.Visual Stuido2017でダイアログベースアプリのプロジェクト作成

    2.ダイアログにエディットボックスなどを追加

    3.ビルドするとエラーとなる

     

    ちょっとはまったので、私の環境で行ったことをメモとして残します

     

    Visual Stuido2017も最初は大丈夫だった気がする、、、

    アップデートでしこまれたバグだと思われますが早く修正してほしい!!!

     

    <バージョン>

     

    Visual Studio Community 2017

    Version 15.5.6

     

    <ダイアログアプリ作成方法>

     

    行ったこと

    (1)MFC と ATL のサポート(x86 と x64)をインストール

    Visual Studioメニューの[ツール]→[ツールと機能を取得]または

    WindowsメニューのVisual Studio Installerを選択
    VC++,ツール,ツールと機能,VS2017,MFC,
     

    (2)新規プロジェクトを作成

    (3)MFCアプリケーションを選択
    VC++,ウィザード,VS2017,MFC,
     

    (4)アプリケーションの種類でダイアログベースを選択して[完了]押下

    VC++,ウィザード,VS2017,MFC,
     

    (5)リソースファイル(.rc)を開く

    本サンプルではMFCApplication1.rcを右クリックしたコンテキストメニューで

    [コードの表示]を選択

    VC++,ウィザード,VS2017,MFC,
    (6)下記の箇所を全て修正する(「言語」「、」を修正する)

    修正前)"言語 171¥r¥n"

    修正後)"LANGUAGE 17,1¥r¥n"

    VC++,修正,VS2017,MFC,rc,リソースファイル,
     

    <確認方法>

    (1)ダイアログに確認用のGUIを追加

    VC++,修正,VS2017,MFC,確認,
     

    (2)ヘッダファイルにメンバ変数とイベント追加

    本サンプルではMFCApplication1Dlg.hに追加

     

    public:
        afx_msg void OnBnClickedCheck1();
        afx_msg void OnBnClickedButton1();

     

    private:
        CButton *cbtn;
        CButton *ccheck;
        CEdit *cedit;

     

    (3)処理を追加

     

    本サンプルではMFCApplication1Dlg.cppに追加

     

    BOOL CMFCApplication1Dlg::OnInitDialog()
    {

        //~~ 省略 ~~

        //初期化
        cbtn = (CButton*)GetDlgItem(IDC_BUTTON1);
        ccheck = (CButton*)GetDlgItem(IDC_CHECK1);
        cedit = (CEdit*)GetDlgItem(IDC_EDIT1);

     

        cbtn->SetWindowText(L"メッセージ表示");
        ccheck->SetCheck(FALSE);
        cedit->SetWindowText(L"");

     

        //~~ 省略 ~~

    }

     

    //チェックON/OFF
    void CMFCApplication1Dlg::OnBnClickedCheck1()
    {
        if (ccheck->GetCheck()) {
            cedit->SetWindowText(L"チェックはONです");
        }
        else {
            cedit->SetWindowText(L"チェックはOFFです");
        }
    }

     

    //ボタン押下
    void CMFCApplication1Dlg::OnBnClickedButton1()
    {
        AfxMessageBox(L"VisualStudio2017 MFCダイアログアプリケーション");
    }

     

    (4)ビルドして実行

     

    よろしければポチッと押してください

    プログラマー ブログランキングへ

     



    selected entries

    categories

    calendar

    S M T W T F S
          1
    2345678
    9101112131415
    16171819202122
    23242526272829
    3031     
    << December 2018 >>

    profile

    others

    archives