|
만해 님이 쓰신 글 :
: 까마귀 님이 쓰신 글 :
: : 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을 한번 실행하고 난후에 실행이 되는 소스입니다.
:
: 이거 염두해 두시고요
:
: 참고하세요
:
: 참고로 델마당에 가면 제가 한것과 비슷한 소스가 있스니다.
:
: 참고 하세요
:
: 웹브라우저에서 채팅하기던가 그런 제목으로 있습니다.
:
: 그럼 이만`
:
: ^^//
만해님 감사합니다.
덕분에 잘 쓰고 있습니다.
OnCreate시에 초기화를 하면 Button2가 없어도 되더군요.
오늘도 건승을 빕니다.
|