성태의 닷넷 이야기
홈 주인
모아 놓은 자료
프로그래밍
질문/답변
사용자 관리
사용자
메뉴
아티클
외부 아티클
유용한 코드
온라인 기능
MathJax 입력기
최근 덧글
[정성태] 제가 큰 실수를 했군요. ^^; Delegate를 통한 Bein...
[정성태] Working with Rust Libraries from C#...
[정성태] Detecting blocking calls using asyn...
[정성태] 아쉽게도, 커뮤니티는 아니고 개인 블로그입니다. ^^
[정성태] 질문이 잘 이해가 안 됩니다. 우선, 해당 소스코드에서 ILis...
[양승조
] var대신 dinamic으로 선언해서 해결은 했습니다. 맞는 해...
[양승조
] 또 막혔습니다. ㅠㅠ var list = props[i].Ge...
[양승조
] 아. 감사합니다. 어제는 안됐던것 같은데....정신을 차려야겠네...
[정성태] "props[i].GetValue(props[i])" 코드에서 ...
[정성태] 저렇게 조각 코드 말고, 실제로 재현이 되는 예제 프로젝트를 압...
글쓰기
제목
이름
암호
전자우편
HTML
홈페이지
유형
닷넷
.NET 3.0
.NET 3.5
.NET 4.0
COM 개체 관련
Win32
Vista
Windows 7
Windows 8
Windows 서버
데이터베이스
웹폼 코딩 규약
윈폼 코딩 규약
공통 코딩 규약
명령행
레지스트리
기타
부모글 보이기/감추기
내용
예제 프로젝트와 함께 실었습니다. 압축을 풀면 프로젝트 안에 IDispImpl.CPP 와 CHtmlCtrl.CPP 파일이 있습니다. 사용법은 예제 프로젝트를 보시면 그리 어렵지 않다는 것을 아실 수 있습니다. CHtmlCtrl 클래스 자체는 CHtmlView 에서 상속받았으나 대화창에서 일반 콘트롤처럼 쓸 수 있도록 되어 있습니다. DOM 구조의 확장, Internet Explorer 이벤트 받기, 자신만의 콘텍스트 메뉴를 구현하시려는 분은 위의 2가지 클래스를 사용하시면 됩니다. MSDN 의 Driller 예제보다 훨씬 쉽고, MFCIE 보다 쉽습니다. CHtmlCtrl 클래스는 MSJ 200.Vol 15. 에서 배웠고, IDispImpl 클래스는 Driller 예제에 있는 것을 확장해서 CHtmlCtrl 클래스와 결합시켰습니다 2000.04.22 : 예제 프로젝트를 하나 더 추가했습니다. 압축을 풀면 아래의 2개의 프로젝트가 생깁니다. 아래의 프로젝트 모두 대단히 쉬운 예제이니 부담갖지 마시고 보셔도 될 겁니다. IEHtmlCtrl : 원래 있던 프로젝트. 이 것에 대한 설명은 바로 위에 있는 내용입니다. 그런데 한가지 버그가 있습니다. 콘텍스트 메뉴도 없앨 수 있고 DOM 구조 확장도 됩니다. 그런데, FRAME 이 나뉘어진 웹사이트를 방문하는 경우 DOM 구조를 구동하는 부분이 어찌된 일인지 실행이 안됩니다. 하지만, 어찌되었든 CHtmlView 를 상속받은 클래스이고, 그 버그가 프로그램을 방해할 만한 에러가 아니므로 그대로 남겨둡니다. DOM 구조확장을 안하는 경우 이 예제에서 보여주는 클래스가 좋지 않을까 싶군요. IEWebCtrl : 위의 DOM 구조 확장하는 부분이 먹히지 않아서 재작성을 했습니다. 이 프로젝트는 그냥 일반 CWebBrowser2 콘트롤을 삽입한 경우, 콘텍스트 메뉴를 다룬다든지, DOM 구조 확장을 하는 것을 다룹니다. IDispImp 클래스도 좀 변경했습니다. 위의 IEHtmlCtrl에서의 코드에 조금 깔끔한 변경을 가했습니다. 물론, FRAME 이 나뉜 웹사이트에서도 모든 동작이 제대로 이루어집니다.
첨부파일
스팸 방지용 인증 번호
7052
(왼쪽의 숫자를 입력해야 합니다.)