工作问题积累(十六)动态改变网页中的内容,向网页中添加文本

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()就行了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值