サンプル・プログラム
WinBinderの準備
ここでは、"C:\php4\WinBinder\" に解凍できたものとする。

PHP4用のライブラリ "C:\php4\WinBinder\binaries\php4\ext\php_winbinder.dll" を "C:\php4\extensions\" にコピーしておく。
WinBinderを使って実行するPHPプログラムの拡張子は .phpw とする。そこで、拡張子 .phpw を "C:\php4\php-win.exe" に関連づけしておく。
プログラムの実行

サンプル・プログラムの解説:初期化処理
次に、アプリケーションウィンドウやダイアログにイベントIDを設定してやる。
0009: //WinBinderライブラリをインクルード
0010: include '../../WinBinder/phpcode/include/winbinder.php';
0011:
0012: //イベントIDの定義
0013: if (!defined('IDCLOSE')) define('IDCLOSE', 9);
0014: if (!defined('IDC_LABEL_RESULT')) define('IDC_LABEL_RESULT', 1001);
0015:
0016: define('INTERNAL_ENCODING', 'SJIS'); //内部コードはシフトJISに統一
0017: mb_internal_encoding(INTERNAL_ENCODING);
0018: mb_regex_encoding(INTERNAL_ENCODING);
サンプル・プログラムの解説:イベントハンドラ
ここでは、アプリケーションウィンドウの「閉じる」ボタンが押下されたときに発生するイベント IDCLOSE をハンドリングし、WinBinderが用意する関数 wb_destroy_window を実行してやる
0034: /**
0035: * イベントハンドラ
0036: * @param obj $windowメインウィンドウ
0037: * @param int $id イベントID
0038: */
0039: function process_main($window, $id) {
0040: switch($id) {
0041: case IDCLOSE:
0042: wb_destroy_window($window); //ウィンドウを破棄
0043: break;
0044: }
0045: }
サンプル・プログラムの解説:アプリケーションウィンドウ

Windowsのアプリケーションウィンドウを作成するのは、WinBinderが用意する関数 wb_create_window である。
次に、関数 wb_set_handler を使ってイベントハンドラを設定する。
作成するコントロールは、判定結果文字列を表示するラベル・コントロールだけである。関数 wb_create_control を使ってコントロールを作成する。
最後に、イベントを待ち続けるためのループ関数 wb_main_loop を実行する。
0047: // メインプログラム ==================================================
0048: //閏年の判定
0049: $year = date('Y'); //現在の西暦年
0050: $res = isleap($year);
0051: $msg = $year . '年は 閏年';
0052: $msg .= $res ? 'です.' : 'ではありません.';
0053:
0054: //アプリケーションウィンドウの作成
0055: $mainwin = wb_create_window(NULL, AppWindow, '閏年かどうか判定する', WBC_CENTER, WBC_CENTER, 300, 120, 0, 0);
0056:
0057: //イベントハンドラの設定
0058: wb_set_handler($mainwin, 'process_main');
0059:
0060: //コントロールの生成
0061: $label_result = wb_create_control($mainwin, Label, $msg, 20, 20, 200, 24, IDC_LABEL_RESULT, WBC_VISIBLE | WBC_ENABLED, 0);
0062:
0063: //アプリケーションループ
0064: wb_main_loop();
参考サイト
- WinBinder:公式サイト
- 日本語情報サイト
- PHP5 で WinBinder を利用する:troublog
- PHPでWindowsのGUIアプリ:素晴らしき日々
- PHPでWindowsアプリ:PHPな毎日