Q&A

  • ActiveXForm에서 웹페이지 다루는방법?
ActiveXForm에서 이 엑티브폼을 포함하고 있는 웹페이지를 건들려면 어떻게 해야 하나여?

그러니까.. 웹페이지가 플레임으로 나뉘어져 있고, 엑티브X폼의 버튼을 클릭하면,

다른 플레임에 액티브폼에서 지정한 URL 내용이 뜨게하려고 하는데..



혹시 아시는 계시면.. 쫌.... ^.^;

1  COMMENTS
  • Profile
    JDHwang 2001.02.03 00:16
    궁금이 wrote:

    > ActiveXForm에서 이 엑티브폼을 포함하고 있는 웹페이지를 건들려면 어떻게 해야 하나여?

    > 그러니까.. 웹페이지가 플레임으로 나뉘어져 있고, 엑티브X폼의 버튼을 클릭하면,

    > 다른 플레임에 액티브폼에서 지정한 URL 내용이 뜨게하려고 하는데..

    >

    > 혹시 아시는 계시면.. 쫌.... ^.^;



    그건요...



    uses 절에 shdocvw 를 추가 시키시구여.



    var

    site: IOleClientSite;

    browser: IWebBrowserApp;

    sp: IServiceProvider;

    hr: HResult;



    를 사용하실 프로시져나, 하여간 Local 또는 Global 하게 선언한다음에...



    browser 객체를 얻는 방법은...



    if (ComObject as IOleObject).GetClientSite(site) = S_OK then

    begin

    if site <> nil then

    begin

    hr := site.QueryInterface( IServiceProvider, sp );

    hr := sp.QueryService( IWebBrowserApp, IWebBrowserApp, browser );

    end;

    end;



    이렇게 하면,

    browser를 IWebBrowser 형태로 사용할 수가 있어여..



    IWebBrowser의 프로퍼티와 메쏘드등은 TWebBrowser를 참고 하시면 되구여..



    뭐 또 다른 방법으로는 WININET API 셋을 사용하는 방법도 있어여..



    예를 들자면,

    HLinkNavigateString( ComObject, 'http://www.nepkorea.co.kr' );

    이런식으로 사용가능하다는거죠. 물론 ComObject 대신에 ActiveForm 안에서 Self 를

    써도 되겠죠..



    위의 예에서 만약 URL 값을 얻고 싶다면...

    음.. Label1.Caption := browser.LocationURL; 요렇게 하면 되겠죠..