C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[56284] Re:Re:엑티브X 컨트롤에서 IE의 DOC얻기
강대민 [] 1684 읽음    2009-02-26 10:50
먼저 답변감사드립니다.. 소스를보면

TActiveForm 의 ActiveFormControl 를 이용해  정보를 얻어오는대

빌더 6과 빌더 2009 에서 TActiveForm 내에 ActiveFormControl 이 없네요..

델파이만 가능한 것입니까?

빌더보니까 델파이소스도 컴파일가능하던대 델파이 소스를 만들어서 컴파일하라고 답변주신것인지요?

모르는것이 많습니다 ^^;;;


civilian 님이 쓰신 글 :
: 얼마전 델파이로 만들었던 코드입니다. 참고하세요.
:
:
: function GetBrowserInterface(AXForm: TActiveForm): IWebBrowserApp;
: var
:   pvSvcProvider: IServiceProvider;
:   pvBrowserApp: IWebBrowserApp;
: 
:   function GetBrowser(punk: IUnknown; out pvBrowser: IWebBrowserApp): HResult;
:   begin
:     if   Assigned(punk)   then
:     begin
:       Result := punk.QueryInterface(IServiceProvider, pvSvcProvider);
:       if (Result = S_OK)   then
:       begin
:         try
:           Result := pvSvcProvider.QueryService(IWebBrowserApp, IWebBrowserApp, pvBrowser);
:         finally
:           pvSvcProvider := nil;
:         end;
:       end;
:     end
:     else
:       Result := E_NOINTERFACE;
:   end;
: begin
:   if Assigned(AXForm.ActiveFormControl) and (GetBrowser(AXForm.ActiveFormControl.ClientSite, pvBrowserApp) = S_OK) then
:   begin
:     try
:       Result := pvBrowserApp;
:     finally
:       pvBrowserApp := nil;
:     end;
:   end
:   else
:     Result := nil;
: end;
: 

:
:
: 강대민 님이 쓰신 글 :
: : 웹페이지에 들어가는 엑티브엑스를 만들고있습니다
: :
: : 자신이 포함된 페이지의 자바스크립트를 호출하여 웹페이지와 상호 작용을하고싶은대
: :
: : 부모 IE의 객채를 구할수없어서 난감합니다 여기 저기 자료도보고
: :
: : execScript 팁도보고했는대  하나는 자기자신이 가지고있는 웹프라우저를 실행시키는것이고
: :
: : 하나는 TShellWindows  클레스를 사용해 모든 IE컨트롤 을 대상으로하여 주소로 필터링해서
: :
: : 스크립터를 실행하는 팁이더군요..  저같은경우에는 자신을 실행시킨 부모가 누군지 몰라서
: :
: : 주소로 필터링할수도없고.. 난감합니다   GetParent 를통해 얻은 핸들을
: :
: : ShellWindows->Item(i)->HWND 와 매치시켜도 실수를한건지 매치가 안되내요..
: :
: : GetParent 를통해 얻은 핸들을 GetClassName함수로 얻어서 출력해보면
: :           
: : "Internet Explorer_Server" 이렇게 나옵니다..  핸들은 바로 얻는것이 맞는듯도 하구요
: :
: : 고수님들의 답변두탁드립니다..   프로그래밍은 나름오래했는대 어느덧 변한 프로그래밍 스타일에
: :
: : 적응이 안됩니다 ^^;;
: :
: : 요점은  - >   엑티브엑스 컨트롤에서 자기 자신을 표시하고있는 IE의 도큐먼트를 얻고 싶습니다
: :
: :
: :
: :
: : //-- 
: :
: : 질문드리고 조금후에  Internet Explorer_Server 의 페런트를 또얻고  그 페런트를 또얻고하는방식으로
: :
: : IEFrame(클레스명) 의 핸들을 취득하고 ShellWindows->Item(i)->HWND 와 비교해서
: :
: : 매치시킨후 팁에서 나온것처럼해서 자바스크립터 호출하는 처리를 완성했습니다..
: :
: : 이런방법은 다소 무리가 따르는느낌이고.. 객채를 잘이용해서 호출할수있는 방법이 있을터인대
: :
: : 고수님들의 조언부탁드립니다 ^^

+ -

관련 글 리스트
56267 엑티브X 컨트롤에서 IE의 DOC얻기 강대민 1528 2009/02/25
56273     Re:엑티브X 컨트롤에서 IE의 DOC얻기 civilian 1376 2009/02/26
56284         Re:Re:엑티브X 컨트롤에서 IE의 DOC얻기 강대민 1684 2009/02/26
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.