자신만의 브라우저를 만드시겠습니까? 실수가 있었나요? IE와 같은 거대 기업은 말할 것도 없고, 컴팩트한 오페라라도 우리 대부분의 보통 사람들은 결코 그것을 할 수 없을 것입니다. 하지만 VB5.0 전문가 버전이 컴퓨터에 설치되어 있으면 작업이 훨씬 쉬워질 것입니다. 자, 가자!
이 프로그램의 주인공은 ActiveX 컨트롤인 WebBrowser입니다. 물론 기본적으로 VB 도구 상자에는 포함되어 있지 않습니다. 수동으로 추가해야 합니다. 방법은 도구 상자를 마우스 오른쪽 버튼으로 클릭하고 나타나는 바로 가기 메뉴에서 "부품..."을 선택한 다음 확인하는 것입니다. 팝업 대화 상자에서 "컨트롤" 탭을 선택하고 Microsoft 인터넷 컨트롤을 찾아 그 앞에 있는 작은 상자를 선택한 다음 확인을 클릭하세요. 이 시점에서 도구 상자에 두 개의 작은 아이콘이 더 있다는 것을 알게 될 것입니다. 그 중 지구본 아이콘으로 표시되는 컨트롤은 우리에게 필요한 WebBrowser입니다.
많은 사람들이 WebBrowser 컨트롤에 대해 잘 알지 못하고 VB 도움말에 이에 대한 내용이 없기 때문에(어쨌든 찾지 못했습니다) 공간 제한으로 인해 해당 속성, 메서드 및 이벤트를 소개해야 합니다. 우리는 다음 프로그램에 사용된 것만 다룹니다.
속성: LocationURL 컨트롤이 표시하는 웹 페이지의 URL을 반환합니다.
방법: 지정된 URL로 전송을 탐색하거나 지정된 HTML 파일을 엽니다.
이벤트: 1. DownloadBegin 다운로드 작업이 시작되면 발생합니다.
2. DownloadComplete 다운로드 작업이 완료, 종료 또는 실패할 때 발생합니다.
3. ProgressChange WebBrowser 컨트롤은 다운로드 작업의 진행 상황을 추적하고 이 이벤트를 주기적으로 트리거합니다. 구문은 Sub WebBrowser_ProgressChange(ByVal Progress As Long, ByVal ProgressMax As Long)입니다. Progress 인수는 현재 다운로드되는 데이터의 총량이고, ProgressMax 인수는 다운로드할 데이터의 총량입니다.
4. TitleChange는 현재 문서의 제목이 변경되면 트리거됩니다.
WebBrowser 컨트롤 외에도 프로그램에는 Label1, URL 주소를 표시하는 데 사용되는 ComboBox 컨트롤: StatusBar1, 다운로드 진행률을 표시하는 데 사용되는 ProgressBar 컨트롤(StatusBar)이 필요합니다. 컨트롤과 ProgressBar 컨트롤은 Microsoft Windows Common Controls 5.0의 멤버입니다. 도구 상자에 추가하는 방법은 WebBrowser 컨트롤과 동일합니다.) 이러한 컨트롤의 속성 값은 기본값을 사용합니다.
프로그램 목록은 다음과 같습니다.
옵션 명시적 비공개 하위 Form_Load() Me.Caption="내 탐색기" Label1.Caption = "URL" Combo1.Text = "" Combo1.Top = Label1.Height 콤보1.왼쪽 = 0 WebBrowser1.Top = Combo1.Top + Combo1.Height WebBrowser1.왼쪽 = 0 양식_크기 조정 StatusBar1.Style = sbrSimple ProgressBar1.Zorder 서브 끝 |
비공개 하위 Form_Resize() 오류 발생 시 GoTo Combo1.Width = Form1.Width - 100 WebBrowser1.Width = 콤보1.Width WebBrowser1.Height = Form1.Height - Combo1.Height - 1000 ProgressBar1.Top = Me.Height - StatusBar1.Height - 330 ProgressBar1.Left = 0.25 * StatusBar1.Width ProgressBar1.Width = 0.75 * Me.Width - 250 에이: 서브 끝 |
비공개 하위 콤보1_Click() `지정된 URL로 이동 WebBrowser1.Navigate Combo1.Text 서브 끝 Private Sub Combo1_KeyDown(KeyCode를 정수로, Shift를 정수로) 난 오랫동안 어둡게 해 Dim은 부울로 존재했습니다. KeyCode = 13이면 If Left(Combo1.Text, 7) <> "http://"Then Combo1.Text = "http://"+ Combo1.Text 종료 조건 WebBrowser1.Navigate Combo1.Text I = 0의 경우 Combo1.ListCount - 1 Combo1.List(I) = Combo1.Text인 경우 존재했다=사실이다 종료 대상 또 다른 존재했다=거짓 종료 조건 다음 존재하지 않는 경우 Combo1.AddItem(Combo1.Text) 종료 조건 종료 조건 서브 끝 |
비공개 하위 WebBrowser1_DownloadBegin() `다운로드가 시작되면 상태 표시줄에 "지금 연결 중..."이 표시됩니다. StatusBar1.SimpleText = "지금 연결 중..." 서브 끝 |
비공개 하위 WebBrowser1_DownloadComplete() `다운로드가 완료되면 상태 표시줄에 "링크 완료"가 표시됩니다. StatusBar1.SimpleText = "링크 완료" ProgressBar1.Value = 0 서브 끝 |
Private Sub WebBrowser1_ProgressChange(ByVal 진행 기간, ByVal ProgressMax는 오랫동안) `다운로드가 진행 중일 때 진행률 표시줄이 변경됩니다. ProgressMax = 0이면 Sub를 종료합니다. ProgressBar1.Max = ProgressMax Progress <> -1이고 Progress <= ProgressMax인 경우 ProgressBar1.Value = 진행률 종료 조건 서브 끝 |
비공개 하위 WebBrowser1_TitleChange(ByVal 텍스트를 문자열로) Combo1.Text = WebBrowser1.LocationURL 서브 끝 |