#include "stdafx.h"
#include "HtmlDialog.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
CHtmlDialog::CHtmlDialog( UINT nID_Dlg, CWnd* pParent,UINT nID_HTML, UINT n_ID_static):
m_ID_HTML(nID_HTML), m_ID_Static(n_ID_static),
CDialog(nID_Dlg, pParent) ,
CHtml_Host_Handlers()
{
}
void CHtmlDialog::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
}
BEGIN_MESSAGE_MAP(CHtmlDialog, CDialog)
END_MESSAGE_MAP()
BOOL CHtmlDialog::OnInitDialog()
{
CDialog::OnInitDialog();
VERIFY(m_HtmlCtrl.CreateFromStatic(m_ID_Static, this, (CHtml_Host_Handlers*)this ) );
m_HtmlCtrl.LoadFromResource( m_ID_HTML);
return TRUE;
}
void CHtmlDialog::_onHtmlCmd(UINT cmd, LPCTSTR params){
switch (cmd) {
case 1000:
EndDialog(1);
break;
case 1001:
case 1002:
{
UINT cx, cy, x;
CString csCmd(params);
x=0;
cx = atoi(csCmd.Mid(x+1) );
if (cx<0)
return;
x=0;
x = csCmd.Find(CMD_DELI, x);
if (x>=0)
cy = atoi(csCmd.Mid(x+1) );
CRect rect;
GetWindowRect(&rect);
if (cmd == 1001) {
rect.left+=cx;
rect.bottom+=cy;
} else{
rect.left-=cx;
rect.bottom-=cy;
}
SetWindowPos(NULL, 0,0, rect.Width(), rect.Height(), SWP_NOMOVE);
m_HtmlCtrl.SetWindowPos(NULL, 0,0, rect.Width(), rect.Height(), 0);
}
break;
}
}
void CHtmlDialog::_onDocumentComplete(){
SetWindowPos(NULL, 0, 0, m_HtmlCtrl.m_html_width+1, m_HtmlCtrl.m_html_height+1, SWP_NOMOVE);
CRect r;
GetClientRect( &r);
m_HtmlCtrl.SetWindowPos(NULL, 0,0, r.Width(), r.Height(), 0);
SetWindowText(m_HtmlCtrl.m_html_Title);
}