ウィンドウに IE コンポーネントを作成します。
本当に作成し、表示するだけなので使い物にはなりません(爆)
一応 Resize イベントが呼び出された時だけは処理をしています。
デバッグ実行すると例外処理が発生しますので、リリースしてから実行してください。
実験的なものなので、問題が起きても、一切責任は取れません...
[ここをクリックすると内容が表示されます] [ここをクリックすると非表示にします]
コード:
'-----------------------------------------------------------------------------
' イベント プロシージャ
'-----------------------------------------------------------------------------
' このファイルには、ウィンドウ [MainWnd] に関するイベントをコーディングします。
' ウィンドウ ハンドル: hMainWnd
' TODO: この位置にグローバルな変数、構造体、定数、関数を定義します。
Declare Function AtlAxWinInit Lib "atl.dll" ()
Dim hBrowserWnd As HWND
'-----------------------------------------------------------------------------
' ウィンドウメッセージを処理するためのコールバック関数
Function MainWndProc(hWnd As DWord, dwMsg As DWord, wParam As DWord, lParam As DWord) As DWord
' TODO: この位置にウィンドウメッセージを処理するためのコードを記述します。
' イベントプロシージャの呼び出しを行います。
MainWndProc=EventCall_MainWnd(hWnd,dwMsg,wParam,lParam)
End Function
'-----------------------------------------------------------------------------
' ここから下は、イベントプロシージャを記述するための領域になります。
Sub MainWnd_Destroy()
TestProject_DestroyObjects()
PostQuitMessage(0)
End Sub
Sub MainWnd_Create(ByRef CreateStruct As CREATESTRUCT)
AtlAxWinInit()
hBrowserWnd=CreateWindowEx(NULL,"AtlAxWin","http://www.yahoo.co.jp/",
WS_CHILD Or WS_VISIBLE Or WS_VSCROLL Or WS_HSCROLL,
0,0,100,100,hMainWnd,0,GetModuleHandle(NULL),NULL)
End Sub
Sub MainWnd_Resize(SizeType As Long, cx As Integer, cy As Integer)
MoveWindow(hBrowserWnd,0,0,cx,cy,TRUE)
End Sub
追記 :
・コードを若干変更しました。
・以下を参考にしました。
http://web.archive.org/web/200410120300 ... ponent.htm
(現在はアクセス出来ないので Internet Archive の URL を示します)
・BackSearchAB の 1341 番の記事や、 http://www.noppi.jp/diary/?date=20041220 には
ActiveBasic で IE コンポーネントを使用したプログラムがあります。
本格的に扱う場合は、COM とかオブジェクト指向の知識が必要らしいので
そこは僕は何も言えません。。。
ウィンドウに IE コンポーネントを作成します。 本当に作成し、表示するだけなので使い物にはなりません(爆) 一応 Resize イベントが呼び出された時だけは処理をしています。
デバッグ実行すると例外処理が発生しますので、リリースしてから実行してください。 実験的なものなので、問題が起きても、一切責任は取れません...
[hide] [code] '----------------------------------------------------------------------------- ' イベント プロシージャ '----------------------------------------------------------------------------- ' このファイルには、ウィンドウ [MainWnd] に関するイベントをコーディングします。 ' ウィンドウ ハンドル: hMainWnd
' TODO: この位置にグローバルな変数、構造体、定数、関数を定義します。
Declare Function AtlAxWinInit Lib "atl.dll" () Dim hBrowserWnd As HWND
'----------------------------------------------------------------------------- ' ウィンドウメッセージを処理するためのコールバック関数
Function MainWndProc(hWnd As DWord, dwMsg As DWord, wParam As DWord, lParam As DWord) As DWord ' TODO: この位置にウィンドウメッセージを処理するためのコードを記述します。
' イベントプロシージャの呼び出しを行います。 MainWndProc=EventCall_MainWnd(hWnd,dwMsg,wParam,lParam) End Function
'----------------------------------------------------------------------------- ' ここから下は、イベントプロシージャを記述するための領域になります。
Sub MainWnd_Destroy() TestProject_DestroyObjects() PostQuitMessage(0) End Sub
Sub MainWnd_Create(ByRef CreateStruct As CREATESTRUCT)
AtlAxWinInit() hBrowserWnd=CreateWindowEx(NULL,"AtlAxWin","http://www.yahoo.co.jp/", WS_CHILD Or WS_VISIBLE Or WS_VSCROLL Or WS_HSCROLL, 0,0,100,100,hMainWnd,0,GetModuleHandle(NULL),NULL)
End Sub
Sub MainWnd_Resize(SizeType As Long, cx As Integer, cy As Integer)
MoveWindow(hBrowserWnd,0,0,cx,cy,TRUE)
End Sub
[/code] [/hide]
追記 : ・コードを若干変更しました。 ・以下を参考にしました。 [url]http://web.archive.org/web/20041012030010/http://www.nitoyon.com/vc/tips/ie_component.htm[/url] (現在はアクセス出来ないので Internet Archive の URL を示します) ・BackSearchAB の 1341 番の記事や、[url]http://www.noppi.jp/diary/?date=20041220[/url] には ActiveBasic で IE コンポーネントを使用したプログラムがあります。 本格的に扱う場合は、COM とかオブジェクト指向の知識が必要らしいので そこは僕は何も言えません。。。
|