04WebServer 2.0の開発状況です。
サーバのフレームワークは完成しました。
現在、基本機能を実装するモジュールを開発中です。
(基本機能を実装するモジュールはサーバに内蔵され、切り離せません)
サーバがある程度形になってきたので、UIの開発を始めました。
04WebServerは、かなり設定項目が多いので、ダイアログをデザインするだけで一苦労です。
HTMLダイアログを使ってもいいのですが、VisualStudioのIDEなどの動作を見ていると、安定性に不安があるので、簡単なスクリプトでダイアログを自動生成できるようにしました。
C++のコードもしくは、XMLのテンプレートをロードすることで、ダイアログを生成できます。
SetFormat(70, TRUE);
AddTitle("基本設定");
AddEdit("説明 :", 0, "Info", "");
SetFormat(70, FALSE);
AddDrop("グループ :", "Gruop", 200, "Info");
SetFormat(0, TRUE);
AddButton("グループ編集...", 100, TRUE, "EditGroup");
AddSpace();
SetFormat(70, TRUE);
AddEdit("ServerPath :", 0, "ServerPath", "/");
AddEdit("LocalPath :", 0, "LocalPath", "C:");
SetFormat(0, FALSE);
AddButton("参照...", 100, TRUE, "BrowsLocalPath");
SetFormat(70, TRUE);
AddText("※ServerPathに仮想パス(URLとして扱うパス)を入力し、rn実際に表示するパスをLocalPathに設定します。rn「%ServerRoot%」はサーバプログラムのあるディレクトリに置き換えられます。", 3),
AddSpace();
SetFormat(70, TRUE);
AddTitle("バーチャルホスト");
AddCheck("有効・無効 :", "このパスでバーチャルホストを使用する", "EnableVirtualHost", 0);
AddText("※このボタンをチェックすると、バーチャルホスト機能を利用する事が出来ます。rnバーチャルホストを利用する場合でも、「/icons/」など、全てのホスト名からアクセスが必要なディレクトリは無効に設定してください。", 2);
AddSpace();
AddEdit("ホスト名:", 0, "VirtualHostName", "*");
AddText("※ホスト名には「*」や「?」などのワイルドカードが利用できます。", 1);
AddSpace();
SetFormat(70, TRUE);
AddTitle("URL転送");
AddCheck("有効・無効 :", "このパスを転送専用にする", "EnableForward", 0);
AddText("※このボタンをチェックすると、転送専用になります。", 1);
AddSpace();
AddEdit("Forward : ", 0, "Forward", "http://");
AddText("※転送先URLを入力してください。", 1);
AddSpace();
AddTitle("");