‘壹’ 怎样在WEB中使用Activex控件的属性
为了创建一个ActiveX控件
1.选择文件\新建\项目。
2.打开如图1一样的对话框,选择Visual C++,MFC。在右面模板对话框中选择MFC ActiveX控件。
3.在名称中输入MyActiveX;在位置中输入你需要代码工程放置的硬盘位置,之后选择确定。
4.在MFC ActiveX控件向导对话框中(如图2所示),选择控件设置。
5.在创建的控件基于下拉菜单中选择STATIC。我们使用了一个静态的控件,我们只是简单的输出结果,并不需要接受输入信息。
6.在附加功能中,确定可见时激活,无闪烁激活两项被激活,其它的都被关闭。
7.单击完成按键让MFC ActiveX控件向导创建工程以及相关代码。在默认的情况下,向导会把MFC作为一个动态连接库使用。我们需要对其作一些更改,否则ActiveX控件无法在没有提供MFC动态连接库的系统当中下载和运行。这会导致当网页下载和运行ActiveX控件时候导致错误警报。在Visual Studio目录中, 选择工程、属性。然后选择配置属性->常规->MFC的使用,把MFC的使用改成在静态库中使用MFC。
8.向导将会给我们建立下面三个不同的类型以供使用:
CMyActiveXApp – 这个是ActiveX应用程序类,继承于COleControlMole。后者是驱动一个OLE控件的基础。控件模块对象包含了初始化(InitInstance)和清理(ExitInstance)的成员函数。
CMyActiveXCtrl – 由基类COleControl驱动。它提供了我们的控件的大部分功能。
CMyActiveXPropPage – 由基类COlePropertyPage驱动。它被用来管理控件的属性页对话框。ActiveX Control控件向导会建立一个默认的对话框为这个控件提供属性页。
‘贰’ web中背景颜色的宽度怎么设置
1、打开dreamweaver 8软件,然后新建一个html页。
2、接下来页面插入div标签,选择工具栏“插入DIV标签”按钮,在打开对话框中ID项给这个div命名,我们给它起个名字叫layout(可以根据自己需要写)。
3、点击“插入”后,如图,给div起个名,
4、点“确定”后代码会多出来
5、增加样式:在右边点击css样式的图标
6、勾选“仅对该文档”
7、设置宽高和背景
8。点击应用确定即可,设置背景颜色:
9、勾选想要的颜色,点应用,确定即可。
10、勾选颜色宽度,自由调节即可
‘叁’ Web自动化中,怎么才能处理弹出的模态对话框
如何为webbrowser中弹出的模态网页对话框添加自动化方法?
我用CDHtmlDialog做基类,做了一个简单浏览器,通过以下几步,添加了自动化方法MyFunc
C/C++ code
///////////////////////////////////////////1、类声明文件中添加DECLARE_DISPATCH_MAP()添加响应函数声明,如void MyFunc(char* sURL);重载CanAccessExternalvirtual BOOL CanAccessExternal();2、构造函数添加EnableAutomation();初始化添加SetExternalDispatch(GetIDispatch(TRUE));消息映射添加BEGIN_DISPATCH_MAP(CDlgIE, CDHtmlDialog) //弹出窗口接口 DISP_FUNCTION(CDlgIETooltip, "MyFunc", MyFunc, VT_EMPTY, VTS_BSTR) // example: // DISP_FUNCTION(CMyDHTMLDialog,"Func2",TestFunc,VT_BOOL,VTS_BSTR VTS_I4 VTS_I4) // ^return, ^parameters type listEND_DISPATCH_MAP()实现CanAccessExternal重载BOOL CDlgIE::CanAccessExternal(){ return TRUE;}最后实现响应函数MyFunc////////////////////////////////////////////////////////////////////
这样,在网页中就可以使用external.MyFunc("参数")来调用我的浏览器提供的方法
现在问题是,如果网页中用showModalDialog弹出一个网页对话框,在网页对话框中就无法调用external.MyFunc方法
一种解决方案是将window在showModalDialog时传入,然后在对话框中调父页面的方法,但是我的页面有时是跨域的,无法取到父页面的window。
所以现在想最好能把网页对话框的webbrowser控件也加入我自定义的交互函数,想了很久,也找了很久,没有找到解决方案,想请各位帮帮忙,谢谢。
现在可以用hook得到网页对话框的窗口消息,但不知该如何给webbrowser加网页的消息映射