-
2013. 5. 17. 04:45 프로그래밍 언어/Basic
컨트롤 동적 생성과 실행중인 탐색기(폴더뷰어,인터넷창)에 대한 예제입니다
Option
Explicit
Public
WithEvents
obj1
As
VBControlExtender
Public
WithEvents
obj2
As
PictureBox
Public
WithEvents
obj3
As
Timer
Public
oShApp
As
Object
, oWin
As
Object
Private
Sub
Form_Load()
'기본적으로 WithEvents 가 정의된 개체는 IDE 에서 이벤트를 할당 해줄수 있게 됩니다
Set
obj1 = Controls.Add(
"Shell.Explorer"
,
"dynamic"
,
Me
)
'탐색기를 실행 합니다
Set
obj2 = Controls.Add(
"VB.PictureBox"
,
"pic"
,
Me
)
Set
obj3 = Controls.Add(
"VB.Timer"
,
"timer"
,
Me
)
'탐색기, 인터넷 브라우저또한 개체와 연동 될 수 있습니다
Set
oShApp = CreateObject(
"Shell.Application"
)
'실행중인 탐색기 어플리케이션 개체 생성
For
Each
oWin
In
oShApp.Windows
MsgBox oWin.Name & Chr(13) & TypeName(oWin.Document)
'아래 출력을 볼 수 있습니다
'Windows 탐색기
'IShellFolderViewDual3
'Windows Internet Explorer
'HTMLDocument
'개체를 가져와서 다룰 수 있습니다
'Set obj = oWin
'TypeName(oWin.Document) = "IShellFolderViewDual3" - 탐색기를 가져올 수 있습니다
'TypeName(oWin.Document) = "HTMLDocument" - 인터넷 브라우저 개체를 가져올 수 있습니다
Next
End
Sub
Private
Sub
Form_Unload(Cancel
As
Integer
)
'종로될예정 이어서 obj1 는 nothing 처리를 하지 않습니다 ( 참고: Set obj = Nothing )
If
Not
obj1
Is
Nothing
Then
: Controls.Remove obj1
If
Not
obj2
Is
Nothing
Then
: Controls.Remove obj2
If
Not
obj3
Is
Nothing
Then
: Controls.Remove obj3
End
Sub
Private
Sub
obj3_Timer()
'타이머 이벤트
End
Sub