htmlwnd.cpp

来自「STHtmlDialog_SampleApplication」· C++ 代码 · 共 68 行

CPP
68
字号
// HtmlWnd.cpp: implementation of the CHtmlWnd class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "HtmlWnd.h"
#include <Htmlctrl.h>

#ifdef _DEBUG
#undef THIS_FILE
static char THIS_FILE[]=__FILE__;
#define new DEBUG_NEW
#endif

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

CHtmlWnd::CHtmlWnd(HINSTANCE hInstance, HWND hWnd)
{
	if (m_HtmlViewInstance == 0) {
		m_HtmlViewInstance = ::LoadLibrary(L"htmlview.dll");
	}

	VERIFY(InitHTMLControl(hInstance));
	
	DWORD dwStyle = WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS;
	RECT rect;
	GetClientRect(hWnd, &rect);
	m_hwndHtml = ::CreateWindow (DISPLAYCLASS, 
                                 NULL,
                                 dwStyle,
                                 rect.left, 
                                 rect.top, 
                                 rect.right, 
                                 rect.bottom,
                                 hWnd, 
                                 0, 
                                 m_HtmlViewInstance, 
                                 NULL);

	::SetWindowLong(m_hwndHtml, GWL_ID, 12321);
	::SetFocus (m_hwndHtml);
	::SendMessage(m_hwndHtml, WM_SETTEXT, 0, (LPARAM)(LPCTSTR)_T("")); 
}

CHtmlWnd::~CHtmlWnd()
{
// parent destroyed 	::DestroyWindow(m_hwndHtml);
}

HINSTANCE CHtmlWnd::m_HtmlViewInstance = 0;

HRESULT CHtmlWnd::SetHtml(const CString &text)
{
	::SendMessage(m_hwndHtml, WM_SETTEXT, 0, (LPARAM)(LPCTSTR)_T(""));
	::SendMessage(m_hwndHtml, DTM_ADDTEXTW, FALSE, (LPARAM)(LPCTSTR)text);
	::SendMessage(m_hwndHtml, DTM_ENDOFSOURCE, 0, 0);

	return S_OK;
}


HWND CHtmlWnd::GetHtmlViewHwnd() const
{
	return m_hwndHtml;
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?