#include "stdafx.h"
#include "SkinHtmlView.h"
#include "SkinResource.h"
#include
BEGIN_MESSAGE_MAP(cSkinHtmlView, CHtmlView)
ON_WM_CREATE()
ON_WM_PAINT()
END_MESSAGE_MAP()
IMPLEMENT_DYNCREATE( cSkinHtmlView, CHtmlView )
cSkinHtmlView::cSkinHtmlView()
{
mConnected = true;
}
cSkinHtmlView::~cSkinHtmlView()
{
}
BOOL cSkinHtmlView::Create( cSkinComponentResource* resource, CWnd* parent, UINT id )
{
/// ¸®¼Ò½º ¼³Á¤
ASSERT( resource );
mResource = (cSkinHtmlViewResource*)resource;
mUrl = mResource->mUrl;
return CHtmlView::Create( 0, 0, WS_CHILD | WS_VISIBLE, mResource->mRect, parent, id );
}
void cSkinHtmlView::Go()
{
Navigate2( mUrl.Cstr() );
}
int cSkinHtmlView::OnCreate( LPCREATESTRUCT cs )
{
if(CHtmlView::OnCreate( cs ) == -1)
return -1;
return 0;
}
void cSkinHtmlView::OnPaint()
{
CPaintDC dc(this);
// Do not call CHtmlView::OnPaint() for painting messages
}
void cSkinHtmlView::OnDocumentComplete( LPCTSTR lpszURL )
{
if( mConnected )
{
ShowWindow(SW_SHOW);
}
// HtmlViewÀÇ ½ºÅ©·Ñ¹Ù ¾ø¾Ö±â
IDispatch *pDisp = this->GetHtmlDocument();
if ( pDisp != NULL )
{
IHTMLDocument2* pHTMLDocument2;
HRESULT hr;
hr = pDisp->QueryInterface(IID_IHTMLDocument2, (void**)&pHTMLDocument2);
if (hr == S_OK)
{
IHTMLElement *pIElement;
hr = pHTMLDocument2->get_body(&pIElement);
IHTMLBodyElement *pIBodyElement;
hr = pIElement->QueryInterface(IID_IHTMLBodyElement,(void**)&pIBodyElement);
BSTR bstr;
CString strTmp;
strTmp = "no";
bstr = strTmp.AllocSysString();
pIBodyElement->put_scroll(L"no");
pIBodyElement->Release();
pIElement->Release();
::SysFreeString( bstr );
}
pHTMLDocument2->Release();
pDisp->Release();
}
CHtmlView::OnDocumentComplete(lpszURL);
}
void cSkinHtmlView::OnBeforeNavigate2(LPCTSTR lpszURL, DWORD flags, LPCTSTR lpszTargetFrameName, CByteArray& baPostedData, LPCTSTR lpszHeaders, BOOL* pbCancel)
{
if(strncmp(lpszURL, "res", 3) == 0)
{
mConnected = false;
ShowWindow( SW_HIDE );
}
CHtmlView::OnBeforeNavigate2(lpszURL, flags, lpszTargetFrameName, baPostedData, lpszHeaders, pbCancel);
}
void cSkinHtmlView::OnDownloadBegin()
{
CHtmlView::OnDownloadBegin();
}
void cSkinHtmlView::OnDownloadComplete()
{
CHtmlView::OnDownloadComplete();
}
HRESULT cSkinHtmlView::OnTranslateAccelerator(LPMSG lpMsg, const GUID *pguidCmdGroup, DWORD nCmdID)
{
if ( (lpMsg->message == WM_KEYDOWN) )// && (lpMsg->wParam == VK_F5) )
return S_OK;
return CHtmlView::OnTranslateAccelerator(lpMsg, pguidCmdGroup, nCmdID);
}
void cSkinHtmlView::OnNavigateComplete2(LPCTSTR strURL)
{
CHtmlView::OnNavigateComplete2(strURL);
}
HRESULT cSkinHtmlView::OnGetHostInfo(DOCHOSTUIINFO * pInfo)
{
pInfo->dwFlags = DOCHOSTUIFLAG_NO3DBORDER;
pInfo->dwDoubleClick = DOCHOSTUIDBLCLK_DEFAULT;
return S_OK;
}