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
[15984] Re:[BCB50] TCppWebBrowser로 하여 URL이 아닌 문자열을 출력하도록 하는 방법 좀 알려주세요...
만해 [greenuri] 1073 읽음    2002-03-05 11:54
까마귀 님이 쓰신 글 :
: TCppWebBrowser를 이용하여 Help 및 About 창을 만들려고합니다.
: 물론 Local로 HTML 화일을 만들어 읽어드리게 하면됩니다만,
: //-----------------------------------------------------------------------------------------
: TCppWebBrowser *Body;
: TString HelpPage=ExtractFilePath(APPeName)+"HelpPage.htm";
: Body->Navigate(WideString(HelpPage).c_bstr(), EmptyParam,
:                EmptyParam, EmptyParam, EmptyParam);
: //-----------------------------------------------------------------------------------------
: 그러면, 사용자가 HTML 화일을 이미로 변경할 수 있으므로... 별로 만에 들지 않아서요...
: HTML 화일의 내용을 Stream으로 해서 TCppWebBrowser로 하여 출력하게 하는 방법은 없나요...?
: 도와주세요.....^_^.....

안녕하세요 만해입니다.

제가 방금 님의질문 보고 샘플을 만들었느데요

원래 OLE로 해결할수 있는 방법이 있는데

제가 실력이 딸려서 그건 못했고요

COM을 이용해서 해결하는 방법을 알려 드립니다.

소스 올릴께요

#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
#include <mshtml.h>
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "SHDocVw_OCX"
#pragma resource "*.dfm"
TForm1 *Form1;
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
        : TForm(Owner)
{
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)
{
  IDispatch* Document;
  Document = CppWebBrowser1->Document;
  IHTMLDocument2 *pHTMLDocument;
  IHTMLElement   *pHTMLElement;
  HRESULT hr;
  WideString InnerHTML = Memo1->Text;

  hr = Document->QueryInterface(IID_IHTMLDocument2,(void**)&pHTMLDocument);
  if ( hr == S_OK )
    {
      hr = pHTMLDocument->get_body(&pHTMLElement);
      if ( hr == S_OK )
        {
          pHTMLElement->put_innerHTML(InnerHTML);
          pHTMLElement->Release();
        }
      pHTMLDocument->Release();
    }
  Document->Release();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
WideString Blank = "About:blank";
  CppWebBrowser1->Navigate(Blank,NULL,NULL,NULL);
}
//---------------------------------------------------------------------------

위의 소스는요 메모자에 있는 html 문서를 CppWebBrowser에서 보여 주는 소스고요

다만 주의 할점은 Button1을 클릭하기 전에 반드시

Button2를 클릭을 해야 합니다.

CppWebBrowser에서 navigate을 한번 실행하고 난후에 실행이 되는 소스입니다.

이거 염두해 두시고요

참고하세요

참고로 델마당에 가면 제가 한것과 비슷한 소스가 있스니다.

참고 하세요

웹브라우저에서 채팅하기던가 그런 제목으로 있습니다.

그럼 이만`

^^//

+ -

관련 글 리스트
15980 [BCB50] TCppWebBrowser로 하여 URL이 아닌 문자열을 출력하도록 하는 방법 좀 알려주세요... 까마귀 844 2002/03/05
15984     Re:[BCB50] TCppWebBrowser로 하여 URL이 아닌 문자열을 출력하도록 하는 방법 좀 알려주세요... 만해 1073 2002/03/05
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.