Web サイトの表示方法 - 2 / 2 -
SFRBrowserControl クラス
SFRBrowserControl は、ウインドウクラスに貼り付けるだけでブラウザとして機能する SophiaFramework コントロールです。
※ IHTMLViewer インターフェースをラップするだけでなく、イベントハンドリングやリンク先へのジャンプも自動的に行われるように設計されています。
SophiaFramework によるアプリ
- 最初に、"Push Select Key... " を表示します。
- セレクトキーが押されると、ブラウザコントロールを 2 つ含むウインドウを表示します。
- 2 つのブラウザコントロールは独立して動作します。
使い方
他の SophiaFramework のコントロールと同様、ウインドウにブラウザコントロールを貼り付けるだけです。
■ 1 つのウインドウに 1 つのブラウザコントロールの例
// コンストラクタ(ウィンドウ生成時に実行) MyWindow::MyWindow(SFRApplicationPtr app) : SFRTitleWindow(app, app->GetContentWorld(), "SFHTMLViewerApp") static_throws { SFXAnsiString buffer( "HtmlViewerApp<br /><br /><br />" "<a href=\"/example/tabbrowser/\">" "Access to Sample Page</a><br /><br />" "<img src=\"/images/SC_logo_3d.jpg\" " "width=\"92\" height=\"97\" alt=\"SC LOGO\" />" ); SFRToolbox::RegisterManipulateHandler(this); RegisterHandler(SFEVT_KEY, AVK_CLR, HANDLER_AFTER, HANDLER_FUNCTION(OnClearKey)); SFXRectangle rect(GetContentWorld()); // ブラウザコントロールを貼り付ける。 SFRBrowserControlPtr browser(::new SFRBrowserControl(this, rect)); browser->Load(buffer); return; }
■ 1 つのウインドウに 2 つのブラウザコントロールの例
// コンストラクタ(ウィンドウ生成時に実行) MyWindow::MyWindow(SFRApplicationPtr app) : SFRTitleWindow(app, app->GetContentWorld(), "SFHTMLViewerApp") static_throws { SFXAnsiString buffer( "HtmlViewerApp<br /><br /><br />" "<a href=\"/example/tabbrowser/\">" "Access to Sample Page</a><br /><br />" "<img src=\"/images/SC_logo_3d.jpg\" " "width=\"92\" height=\"97\" alt=\"SC LOGO\" />" ); SFRToolbox::RegisterManipulateHandler(this); RegisterHandler(SFEVT_KEY, AVK_CLR, HANDLER_AFTER, HANDLER_FUNCTION(OnClearKey)); SFXRectangle rect(GetContentWorld()); rect.SetHeight(rect.GetHeight() / 2); // ブラウザコントロールを貼り付ける。 SFRBrowserControlPtr browser(::new SFRBrowserControl(this, rect)); browser->Load(buffer); rect.SnapTop(rect.GetBottom()); browser = ::new SFRBrowserControl(this, rect); browser->Load(buffer); return; }
全て SFRBrowserControl によって自動的に処理されるので、イベントハンドリングや HTMLViewer の通知コールバックなどのプログラミングは不要です。
記事掲載プログラムのソースコード
SophiaFramework を使用して作成したソースコード
SFHTMLViewerApp41.zip (SophiaFramework 4.1)