Message Box を表示する

VC++ で Message Box を表示する最も簡単なプログラムです。
MessageBox() はどこからでも手軽に表示することが出来るので、デバッグをするときに良く使用します。

前田稔(Maeda Minoru)の超初心者のプログラム入門

プロジェクトの作成

  1. [スタート][プログラム] から VC++ を起動して下さい。
    VC++ のショートカットをデスクトップに置いて、ダブルクリックで起動することもできます。
  2. 新規プロジェクトで[空のプロジェクト](MsgBox)を作成します。
    1. [ファイル][新規作成][プロジェクト]を選択すると新しいプロジェクトのウインドウが表示されます。
    2. [プロジェクトの種類]から[Visual C++ プロジェクト]を、[テンプレート]から[Win32 プロジェクト]を選択します。
    3. [プロジェクト名]に[MsgBox]とタイプします。
      赤い丸印が要注意箇所で、画像とは異なる箇所があるので注意して下さい。
      説明の画像
  3. [OK]をクリックしてアプリケーションウイザードを表示して下さい。
    [Windows アプリケーション]を確認して[空のプロジェクト]にチェックを入れ[完了]をクリックします。
    赤い丸印が要注意箇所で、画像とは異なる箇所があるので注意して下さい。
    説明の画像
  4. [MsgBox]のフォルダーと空のプロジェクトが作成されます。
  5. MessageBox を表示するソースコードです。
    "Message Box を表示" が表示するメッセージで、"Message Box TEST PROGRAM" はタイトルバーの文字列です。
    MB_OK で OK ボタンを表示して確認を取っています。
    ソースプログラムの中では、大文字と小文字の区別が必要です。
    MessageBox(NULL,"Message Box を表示","Message Box TEST PROGRAM",MB_OK);
  6. [プロジェクト][既存項目の追加] から MsgBox.cpp を選択してプロジェクトに追加します。
  7. [デバッグ][デバッグなしで開始] を選ぶと、コンパイルに続いて実行が行われます。
  8. ページ先頭の Message Box が表示されたら完成です。
    OK をクリックするとプログラムが終了します。
  9. Message Box を表示するプログラムの全ソースコードです。
    メモ帳などを使って MsgBox.cpp の名前でプロジェクトに格納して下さい。
    /*****************************************/
    /*★ Message Box を表示する    前田 稔 ★*/
    /*****************************************/
    #include    <windows.h>
    
    //★ Windows Main 関数
    int PASCAL  WinMain(HINSTANCE hInst, HINSTANCE, LPSTR, int nCmdShow)
    {
        MessageBox(NULL,"Message Box を表示","Message Box TEST PROGRAM",MB_OK);
        return 0;
    }
    
  10. 今でも多くのソースは、次のようにコーディングされています。
    これでは括弧 { } のペアーが明白では無く、度々括弧の対が一致しないエラーに泣かされてきました。
    そこで私は、上記のように括弧の対が一目で解る方法を使う事にします。
    #include    <windows.h>
    
    //★ Windows Main 関数
    int PASCAL  WinMain(HINSTANCE hInst, HINSTANCE, LPSTR, int nCmdShow) {
        MessageBox(NULL,"Message Box を表示","Message Box TEST PROGRAM",MB_OK);
        return 0;
    }
    
  11. 文字列の引数にエラーが表示されるときは MultiByte に設定されているかを確かめて下さい。
    VC++ の MultiByte の設定は [プロジェクト][プロパティ][構成プロパティ][全般]から文字セットに 「マルチバイト文字セットを使用する」を選択します。
    詳細は Program Guid を参照して下さい。
    逆に Unicode を使って Message Box を表示するときは、次のように書いて下さい。
    MessageBox(NULL,L"Message Box を表示",L"Message Box TEST PROGRAM",MB_OK);
  12. Windows 10 でも W32 MessageBox を使うことが出来ます。
    MessageBox() は Win32 API のメッセージ表示で、Store Application では MessageDialog 使います。

【演習】

MessageBox() はどこからでも手軽に表示することが出来るので、デバッグをするときに良く使用されます。
Debug 情報として、文字だけでなく数値も表示したいことがあります。
数値を編集して "メッセージ= 値" の形式で表示する DBox() 関数を作成して下さい。
数値の編集には sprintf() の Windows 版である wsprintf() を使います。

DBox() 関数です。
*msg が表示するメッセージ(TEXT 文字列)で、n がその値です。
//★ Debug Message Box の表示
void    DBox(char *msg, int n)
{   char    str[80];
    wsprintf(str,"%s= %d\n",msg,n);
    MessageBox(NULL,str,"Debug Message",MB_OK);
}

超初心者のプログラム入門(Win32API C++)