게시판 본문 ASP, ASP.NET, IIS & Script - Read Only
re: 안녕하세요.. |
---|
작성자: 송원석
작성일시: 2003-11-29 23:48,
조회수: 3,648
|
안녕하세요? 송원석입니다. ^_^
다행스럽게도 제가 어느정도 알고 있는 부분에 대해서 질문을 해주셨네요. 말씀하신 문제의 요점은 웹 브라우저 컨트롤안에 로드된 HTML 문서에서 발생한 이벤트를 VB 프로그램에서 핸들링 하고 싶으시단 말씀이시죠? 다음을 참고하시기 바랍니다. ^_^ 먼저 해당 HTML 문서 자체에 대한 참조를 얻어야 합니다. 이미 웹 브라우저 컨트롤과 폼의 참조는 가지고 있죠. 하지만 거기에 추가로 웹 브라우저 컨트롤에 로드된 HTML 페이지 자체에 대한 참조를 얻어야 합니다. 우선 mainBrowser 변수를 웹 브라우저 컨트롤 참조라고 가정하고, 전역 변수로 다음과 같은 변수 선언을 하나 해주십시요. Public WithEvents objHTMLDoc As HTMLDocument반드시 WithEvents 문을 선언해주셔야만 원하시는 이벤트를 받으실 수 있습니다. 그리고 HTMLDocument 를 사용하시려면 참조에 Microsoft HTML Object Library 를 추가하셔야만 합니다. 그리고 웹 브라우저 컨트롤의 이벤트 중에 DocumentComplete 이벤트가 있는데 이를 다음과 같이 구현합니다. Private Sub mainBrowser_DocumentComplete(ByVal pDisp As Object, URL As Variant) Set objHTMLDoc = mainBrowser.Document '** 생략 End Sub의미는 매우 간단합니다. 이 이벤트는 해당 웹 브라우저 컨트롤에 임의의 HTML 문서가 완전하게 로드가 되면 발생합니다. 따라서 이 이벤트가 발생했다는 의미는 현재 문서가 로드 완료되었다는 뜻이죠. 따라서 위의 코드의 의미는 현재 웹 브라우저 컨트롤에 로드된 문서를 아까 선언한 변수에 참조 할당을 한다는 뜻입니다. 따라서 이제부터는 objHTMLDoc 변수에 해당 문서에 대한 참조가 들어있는 것이죠. 그리고 참고로 위의 이벤트는 HTML 에 FRAME 이 존재하는 경우, FRAME 하나당 한 번씩 각각 발생한다는 점을 기억하시기 바랍니다. 이제 해당 HTML 문서의 onclick 이벤트를 처리해야 하므로 다음과 같은 이벤트 핸들러를 구현합니다. ^_^ Private Function objHTMLDoc_onclick() As Boolean If UCase(objWindow.event.srcElement.Id) = "CLOSE" Then Unload mainForm Set mainForm = Nothing End If objHTMLDoc_onclick = True End Function아까 objHTMLDoc 변수에 현재 HTML 문서의 참조를 할당한 것 기억나시죠? 따라서 위의 이벤트 헨들러는 현재 HTML 문서를 마우스로 클릭하면 발생합니다. 그런데 문제는 문서의 그 어느 곳을 클릭하든지 이 이벤트가 발생한다는 것이죠. 따라서 해당 클릭이 과연 어디에서 발생한 것인지를 구분해야 합니다. 코드중에 objWindow.event.srcElement.Id 는 현재 클릭 이벤트가 발생한 태그의 아이디 값을 리턴합니다. 따라서 HTML 을 미리 만드실 때 HTML 의 해당 부분에 미리 약속된 아이디를 설정하셔야만 합니다. 위의 경우에는 CLOSE 였구요. 그리고 조건이 맞을 경우 Unload 프로그램을 종료시키시면 되겠죠. 그리고 위의 코드에서 제일 마지막 줄 objHTMLDoc_onclick = True 를 빼먹으시거나 False 를 리턴하시면 모든 클릭 이벤트가 무시됩니다. 주의하시구요. ^_^ 감사합니다. |
IP 주소: 211.226.150.118
|
전체 2,095 건의 게시물,
84 페이지로 구성된
ASP, ASP.NET, IIS & Script 게시판의
78 페이지입니다.
게시물 | ||||
---|---|---|---|---|
184 | 2003-12-13 | 5,824 | ||
183 |
kein |
2003-12-12 | 1,070 | |
182 | 2003-12-12 | 3,481 | ||
181 |
seashark |
2003-12-11 | 927 | |
180 | 2003-12-12 | 3,143 | ||
179 |
seashark |
2003-12-11 | 885 | |
178 | 2003-12-11 | 3,056 | ||
176 | 2003-12-09 | 3,257 | ||
175 | 2003-12-09 | 3,215 | ||
174 |
seashark |
2003-12-09 | 1,245 | |
173 | 2003-12-09 | 3,632 | ||
172 | 2003-12-08 | 3,516 | ||
171 | 2003-12-08 | 3,787 | ||
170 | 2003-12-08 | 3,743 | ||
169 | 2003-12-08 | 3,646 | ||
168 | 2003-12-01 | 3,592 | ||
167 | 2003-12-01 | 3,590 | ||
166 | 2003-12-01 | 3,268 | ||
165 |
re: 적당한 타협.. 결론 [1] |
2003-12-01 | 4,432 | |
164 | 2003-12-01 | 3,521 | ||
163 | 2003-11-29 | 3,697 | ||
2003-11-29 | 3,648 | |||
161 | 2003-11-28 | 3,359 | ||
160 | 2003-11-28 | 3,455 | ||
159 |
DB |
2003-11-27 | 996 |