TsgcWebView2 ブラウザコントロール
モダンでフル機能の Microsoft Edge WebView2 (Chromium) ブラウザを Delphi VCL アプリケーションに組み込めます。ビジュアルコンポーネントをフォームに配置し、任意の URL へのナビゲーション、JavaScript の実行、Cookie やダウンロードの管理を、すべてネイティブな Delphi または C++ Builder のコードから行えます。
モダンでフル機能の Microsoft Edge WebView2 (Chromium) ブラウザを Delphi VCL アプリケーションに組み込めます。ビジュアルコンポーネントをフォームに配置し、任意の URL へのナビゲーション、JavaScript の実行、Cookie やダウンロードの管理を、すべてネイティブな Delphi または C++ Builder のコードから行えます。
Microsoft Edge WebView2 (Chromium) をラップするビジュアル VCL コンポーネントです。Parent と Align を設定し、DefaultURL でページを指定するだけで、実際のブラウザがアプリに組み込まれ、必要に応じて COM インターフェースへのフルアクセスも利用できます。
TsgcWebView2
Windows のみ
Standard / Professional / Enterprise
フォームに TsgcWebView2 を配置し、Parent と Align を設定し、DefaultURL でページを指定したら、Navigate を呼び出し、ExecuteScript で JavaScript を実行し、OnNavigationCompleted に反応します。
uses
sgcWebView2;
var
WebView2: TsgcWebView2;
begin
WebView2 := TsgcWebView2.Create(Self);
WebView2.Parent := Self;
WebView2.Align := alClient;
WebView2.DefaultURL := 'https://www.example.com';
// 実行時にナビゲート
WebView2.Navigate('https://www.esegece.com');
end;
// JavaScript を非同期で実行(結果は OnScriptExecuted)
procedure TForm1.Button1Click(Sender: TObject);
begin
WebView2.ExecuteScript('document.title');
end;
// ページの読み込み完了時に反応
procedure TForm1.WebView2NavigationCompleted(Sender: TObject;
aIsSuccess: Boolean; aWebErrorStatus: Integer);
begin
if aIsSuccess then
Caption := WebView2.DocumentTitle;
end;
// uses: sgcWebView2
TsgcWebView2 *WebView2 = new TsgcWebView2(this);
WebView2->Parent = this;
WebView2->Align = alClient;
WebView2->DefaultURL = "https://www.example.com";
// 実行時にナビゲート
WebView2->Navigate("https://www.esegece.com");
// JavaScript を非同期で実行(結果は OnScriptExecuted)
WebView2->ExecuteScript("document.title");
// OnNavigationCompleted ハンドラー
void __fastcall TForm1::WebView2NavigationCompleted(TObject *Sender,
bool aIsSuccess, int aWebErrorStatus)
{
if (aIsSuccess)
Caption = WebView2->DocumentTitle;
}
// namespace: esegece.sgcWebSockets
var webView2 = new TsgcWebView2();
webView2.Parent = this;
webView2.Align = DockStyle.Fill;
webView2.DefaultURL = "https://www.example.com";
// 実行時にナビゲート
webView2.Navigate("https://www.esegece.com");
// JavaScript を非同期で実行(結果は OnScriptExecuted)
webView2.ExecuteScript("document.title");
// OnNavigationCompleted ハンドラー
webView2.OnNavigationCompleted += (sender, e) =>
{
if (e.IsSuccess)
Text = webView2.DocumentTitle;
};
WebView2 のフルサーフェスをネイティブな Delphi のプロパティ、メソッド、イベントとして公開し、まだラップされていない機能には ICoreWebView2 COM への直接アクセスも利用できます。
Navigate と NavigateToString は URL またはメモリ上の HTML を読み込み、GoBack / GoForward で履歴を移動し、Reload / Stop で読み込みを制御し、NavigateWithPostData でカスタムのメソッド、ボディ、ヘッダーを発行します。
ExecuteScript(非同期、結果は OnScriptExecuted)または JSON の戻り値を得る ExecuteScriptSync でスクリプトを実行します。AddInitScript はページ読み込みごとにコードを注入し、PostWebMessageAsJson / PostWebMessageAsString でページと通信し、応答は OnWebMessageReceived で受け取ります。
読み取り専用の CookieManager は GetCookies、AddOrUpdateCookie、DeleteCookie、DeleteAllCookies を公開しており、任意のホストの Cookie を Delphi コードから読み取り、設定、消去できます。
OnDownloadStarting、OnDownloadProgress、OnDownloadCompleted でファイルのダウンロードを最初から最後まで傍受・追跡できます。キャンセル、保存先パスのリダイレクト、独自 UI での進捗表示が可能です。
Settings(ScriptEnabled、DevToolsEnabled、ContextMenuEnabled)で組み込みブラウザを調整し、ZoomFactor を設定し、UserDataFolder で状態を分離し、BrowserExecutableFolder で固定バージョンのランタイムを指定できます。
PrintToPdf / ShowPrintUI でページを保存し、CapturePreviewToFile でスクリーンショットを取得し、SetVirtualHostNameToFolderMapping でローカルコンテンツを配信し、OpenDevToolsWindow で Edge DevTools を開き、音声をミュートし、Basic 認証やサーバー証明書のイベントを処理できます。
Microsoft Edge WebView2 Runtime と、実行ファイルの隣に配置した WebView2Loader.dll が必要です。Windows のみ、Delphi 7 から Delphi 13 まで対応します。
このコンポーネントが組み込むエンジンの一次情報源です。