MZC4で無料Windowsアプリ開発

メッセージボックス

戻る | 前へ | 次へ


メッセージボックス

Win32でメッセージボックスというものを表示させてみましょう。

サクラエディタで次のような内容のテキストファイル「hello3.c」を作成します。

#include <stdio.h>
#include <windows.h>
int main(void)
{
    MessageBox(NULL, TEXT("Hello, world"), TEXT("INFO"), MB_ICONINFORMATION);
    return 0;
}

さらに「gcc -o hello3 hello3.c」を実行して下さい。「hello3.exe」というEXEファイルができれば成功です。 そして、「./hello3.exe」を実行すれば、メッセージボックスで「Hello, world」と表示されます。

hello2との違いは、<windows.h>をインクルードしたことと、printfの代わりにMessageBoxを呼んだことです。 <windows.h>は、Windows APIを使うのに必要不可欠なヘッダです。MessageBoxは、 メッセージボックスを表示するためのAPIです。 メッセージボックスは、ユーザーからボタンが押されるのを待ちます。 ボタンが押されると、メッセージボックスが閉じられ、呼び出し元に戻ります。

MessageBoxを呼ぶだけでも立派なWin32アプリです。これであなたもWin32の入り口に立ったのです。 C言語のif文とMessageBoxを組み合わせるだけでも、アドベンチャーゲームが作れます。

Win32で分からない関数や構造体があった場合は、マイクロソフトのMSDNを見るのが常識です。 MSDNのMessageBoxを見て下さい。 MessageBoxの呼び出し方が書かれています。

第二引数はメッセージで、第三引数がタイトルになる。第一引数と第三引数はNULLでも構わないと書かれています。 ボタンを指定しない場合は、規定のMB_OKが選ばれます。MB_OKはゼロです。 MB_ICONINFORMATIONは、情報に関するメッセージボックスであることを指定しています。 戻り値は、ボタンの指定によって変わります。MB_OKが指定されたときは、IDOKが戻り値になります。 MB_OKCANCELの場合は、IDOK、またはIDCANCELが戻り値になります。 戻り値をチェックすることで、メッセージボックスで押されたボタンを知ることができます。

TEXTマクロについては後述します。

Visual Studioの場合は、"stdafx.h"の中で<windows.h>をインクルードして下さい。


© 2018 片山博文MZ. All Rights Reserved.

戻る | 前へ | 次へ

inserted by FC2 system