1. 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

Posted by Nightly Luna
,
® © Tanny Tales
/ rss