1.
空白网页的背景颜色为淡蓝色,目的:动态地向此空白网页中添加文本,由C++程序控制,“【系统提示】 欢迎进入斗地主积分场,祝您游戏愉快!”这条语句是服务端下发,要显示出来
2.
【实现代码】:
网页html:
<span style="font-size:14px;"><head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>聊天视图</title>
<style type="text/css">
* {font-size:13px;line-height:130%;}
body {margin:3px;}
</style>
</head>
<body bgcolor="#E4F1FA">
</body>
</html></span>
C++程序:
BOOL CardRoomInfoPanelWnd::put_bodyHtml(CString cs) //网页中添加文本
{
IHTMLDocument2* pHtmlDoc2 = (IHTMLDocument2*)m_webCtrl.GetHtmlDocument();
if( pHtmlDoc2)
{
HRESULT hr = S_OK;
IHTMLElement *pBodyElement;
hr=pHtmlDoc2->get_body( &pBodyElement);
if(pBodyElement!=NULL)
{
BSTR pbBody = cs.AllocSysString();
hr=pBodyElement->put_innerHTML(pbBody); //类似的还有put_innerTEXT
pBodyElement->Release();
}
pHtmlDoc2->Release();
m_webCtrl.ScrollToBottom();
if( hr==S_FALSE) return FALSE;
else return TRUE;
}
else return FALSE;
}
void CardRoomInfoPanelWnd::OnPacketPanelMsg(CString title,CString msg)
{
if (0 != msg.GetLength()){
CString strTemp = "【" + title + "】" + " " + msg;
m_chatStr = m_chatStr + strTemp + "<br>";
put_bodyHtml(m_chatStr);
m_webCtrl.Invalidate(TRUE);
}
}
3.
【解析】:
m_webCtrl.GetHtmlDocument();//自己理解,这个是获取窗口中显示网页的句柄,如果没有窗口限制,直接GetHtmlDocument()就行了