ブラウザを作る
WebBrowser?コントロールを使うとIEのエンジンを使ってオリジナルのブラウザを作れる。今回の演習ではVBでオリジナルのブラウザを作ってみる。
最も単純なブラウザを作る
Microsoft Internet Controlsの追加
まず、VBで新しいプロジェクトを作り、Microsoft Internet Controlsコントロールを追加します。
ツールボックスにコンポーネットが表示されます。
Formにコンポーネットを配置する
ここではTextBox?、Command Button、WebBrowser?のコンポーネントを配置します。
TextBox?のTextプロパティは空欄にしておきます。
コードの追加
Command ButtonをクリックしたらTextBox?に入力されたURLを表示するようにプログラムします。
Private Sub Command1_Click()
' TextBoxが空白以外の時にURLを開く
If Text1.Text <> "" Then
WebBrowser1.Navigate Text1.Text
Else
WebBrowser1.Navigate "about:blank"
End If
End Sub
実行します。
TextBox?に適当なURLを入力し、CommandButton?をクリックします。
WebBrowser?コントロールの主なプロパティやメソッド
くわしくはここを参照(ただし、英文)。
| メソッド | 動作 |
|---|---|
| GoBack? | 戻る |
| GoForward? | 進む |
| GoHome? | ホームに戻る |
| GoSearch? | サーチエンジンに移動する |
| ExecWB | コマンドを実行する。 |
| Refresh | 再読込 |
| Stop | 停止 |
| Navigate | 指定したURLを開く |
| プロパティ | 意味 |
|---|---|
| Top | コンポーネントの上部の位置 |
| Left | コンポーネントの左側の位置 |
| Height | コンポーネントの高さ |
| Width | コンポーネントの幅 |
プロパティやメソッドは次のように使う。
WebBrowser1.GoBak WebBrowser1.Height = Form1.Height - 10
ExecWBメソッドの引数
印刷、コピーなどを実行できる。
| 引数 | 意味 |
|---|---|
| OLECMDID_SAVEAS | 保存 |
| OLECMDID_PRINT | 印刷 |
| OLECMDID_PRINTPREVIEW | 印刷プレビュー |
| OLECMDID_CUT | 切り取り |
| OLECMDID_COPY | コピー |
| OLECMDID_PASTE | 貼り付け |
| OLECMDID_SELECTALL | すべてを選択 |
| OLECMDID_ZOOM | 文字の拡大 |
WebBrowser1.ExecWB OLECDMID_SAVES, OLECMDEXECOPT_DODEFAULT
演習
上記で指定したURLの表示ができますが、ブラウザとしては不十分です。次のような機能を追加してください。
戻る、進む、印刷プレビューなどのボタンを追加する。
複数のコマンドボタンを配置し、それぞれの動作に対するWebBrowser?のメソッドを指定する。
戻ると進むではそれ以上に表示するページがないと実行時エラーになる。これを回避するにはOn Error Gotoステートメントを使う。
Private Sub Command3_Click()
' これ以降で実行時にエラーが発生したらラベルErr:へ処理を移動する
On Error GoTo Err
WebBrowser1.GoForward
Exit Sub
' 実行時エラーがあったときの処理
Err:
MsgBox "これ以上進めません"
End Sub
ボタンに画像を表示する。
CommandButton?のあるプロパティ(Picture)を画像ファイルにする。また、スタイルプロパティを3 グラフィックする。
表示領域の大きさをウィンドウの大きさに合わせて変化させる。
Formの大きさが変わるとFormのResizeメソッドが実行されるのでここでWebBrowser?の幅と高さをFormの幅と高さから求めればよい。
入力したURLを記録する。
ListBox?やCombBox?を使う。項目を追加するにはAddItem?メソッドを使う。
その他
作成したプログラムと関連するすべてのファイルを圧縮フォルダにまとめ提出する。
※圧縮フォルダの作り方