社区
网络及通讯开发
帖子详情
用TCppWebBrowser来浏览htm文件,怎样加上背景色?
cjm29
2003-09-15 11:26:18
用TCppWebBrowser来浏览htm文件,怎样加上背景色?怎样加上背景图片?
谢谢啦!
...全文
97
6
打赏
收藏
用TCppWebBrowser来浏览htm文件,怎样加上背景色?
用TCppWebBrowser来浏览htm文件,怎样加上背景色?怎样加上背景图片? 谢谢啦!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
ccrun.com
2003-09-15
打赏
举报
回复
通过IHTMDLDocument2接口可以实现改变IE背景色,至于加上背景图片,我想应该也行吧。没有试过。
jishiping
2003-09-15
打赏
举报
回复
背景色是由htm文件指定的吧。
ccrun.com
2003-09-15
打赏
举报
回复
恩。能对你有帮助就行。也不枉俺搞这段程序。
cjm29
2003-09-15
打赏
举报
回复
多谢老妖的指点,那段代码我已经准备用上去了。
ccrun.com
2003-09-15
打赏
举报
回复
参考自:http://support.microsoft.com/default.aspx?scid=http://support.microsoft.com:80/support/kb/articles/Q249/2/32.ASP&NoWebContent=1
ccrun.com
2003-09-15
打赏
举报
回复
以下代码改变CppWebBrowser中网页的背景为红色:
Form上放置一个TCppWebBrowser,两个Button,点击Button1打开一个网页,点击Button2改变其背景颜色为红色。
//---------------------------------------------------------------------------
#include <vcl.h>
#include <mshtml.h>
#include "atl\\atlbase.h"
#include <oleacc.h>
#pragma hdrstop
#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma link "SHDocVw_OCX"
#pragma resource "*.dfm"
TForm1 *Form1;
void OnGetDocInterface(HWND hWnd);
BOOL CALLBACK EnumChildProc(HWND hwnd,LPARAM lParam);
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------
BOOL CALLBACK EnumChildProc(HWND hwnd,LPARAM lParam)
{
TCHAR buf[100];
::GetClassName( hwnd, (LPTSTR)&buf, 100 );
if ( _tcscmp( buf, _T("Internet Explorer_Server") ) == 0 )
{
*(HWND*)lParam = hwnd;
return FALSE;
}
else
return TRUE;
};
//---------------------------------------------------------------------------
void OnGetDocInterface(HWND hWnd)
{
CoInitialize( NULL );
// Explicitly load MSAA so we know if it's installed
HINSTANCE hInst = ::LoadLibrary( _T("OLEACC.DLL") );
if ( hInst != NULL )
{
if ( hWnd != NULL )
{
HWND hWndChild=NULL;
//找到Internet Explorer_Server的名柄
::EnumChildWindows( hWnd, (WNDENUMPROC)EnumChildProc, (LPARAM)&hWndChild );
if ( hWndChild )
{
CComPtr<IHTMLDocument2> spDoc;
LRESULT lRes;
UINT nMsg = ::RegisterWindowMessage( _T("WM_HTML_GETOBJECT") );
::SendMessageTimeout( hWndChild, nMsg, 0L, 0L, SMTO_ABORTIFHUNG, 1000, (DWORD*)&lRes );
LPFNOBJECTFROMLRESULT pfObjectFromLresult = (LPFNOBJECTFROMLRESULT)::GetProcAddress( hInst, _T("ObjectFromLresult") );
if ( pfObjectFromLresult != NULL )
{
HRESULT hr;
hr = (*pfObjectFromLresult)( lRes, IID_IHTMLDocument, 0, (void**)&spDoc );
if ( SUCCEEDED(hr) )
{
CComPtr<IDispatch> spDisp;
CComQIPtr<IHTMLWindow2> spWin;
spDoc->get_Script( &spDisp );
spWin = spDisp;
spWin->get_document( &spDoc.p );
//将背景颜色改为红色,可以自己修改。
spDoc->put_bgColor( CComVariant("red") );
}
}
} // else document not ready
} // else Internet Explorer is not running
::FreeLibrary( hInst );
} // else Active Accessibility is not installed
CoUninitialize();
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
CppWebBrowser1->Navigate(L"http://www.ccrun.com");
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender)
{
OnGetDocInterface(CppWebBrowser1->Handle);
}
//---------------------------------------------------------------------------
代码在Windows 2000 ADV Server + BCB 6.0上测试通过。
完全掌握
TCp
p
Web
Browser
控件
一个使用
TCp
p
Web
Browser
控件做的多窗口
浏览
器,强烈推荐!
将
TCp
p
Web
Browser
内容存成图片
将
TCp
p
Web
Browser
存成jpeg图片
文件
Web
Browser
中JS和C++代码互相调用
博客配套
文件
,详细演示了JS和C++代码互相调用的方法,JS调用C++的类独立封装可直接修改使用。
C++实现
Web
Browser
控件中获取鼠标点击事件和超链接
用一个基本窗口MFC程序实现
Web
Browser
控件对指定网页页面的加载、展示、点击事件响应,以及实现对鼠标在页面中点击标签事件的捕获,并且返回标签的超链接。
用C++Builder制作简易游览器
用C++Builder制作简易游览器教程,详细描述用C++Builder6.0制作
浏览
器的全过程,对C++Builder初学者帮助很大
网络及通讯开发
1,317
社区成员
8,874
社区内容
发帖
与我相关
我的任务
网络及通讯开发
C++ Builder 网络及通讯开发
复制链接
扫一扫
分享
社区描述
C++ Builder 网络及通讯开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章