ATL CAxWindow类创建问题一则

查看一个浏览器源码实现,发现其中使用了ie的控件,但例子中没有找到任何创建ie浏览器控件的代码,经过仔细跟踪,发现CAxWindow类是可以这么使用滴。。

创建的时候第三个参数直接传入url。调用到CWindowImpl::Create

多次跟踪后发现疑点:

跟踪到这个函数,查看定义,可以看到如下实现,/(ㄒoㄒ)/~~

也就是说传入得窗口名中如果包含":"就认为是一个URL,并创建WebBrowser控件。

对于这种实现我只能说也是醉了。

?

References:

Web Application - Advanced Hosting of WebBrowser Control with ATL

时间: 2024-10-13 01:39:14

ATL CAxWindow类创建问题一则的相关文章

OrmLite动态创建表,一个实体类创建多张表的的偏招

在做一个Android的项目,因为使用数据库频繁,实体字段也比较多,于是打算采用ORM框架,发现OrmLite还不错,于是下了下来,打算使用. 没想到还没正式开工,就遇到问题了.我现在的一个需求如下, 我有一个实体类如下,代表聊天消息,现在要做的是针对每一个当前用户(userId)对应一个朋友(friendId)都要创建一个表.需求比较蛋疼,我本来想的是直接在加两个字段就搞定的,但是我们老大说要分表.没办法只能分表. public class ChatMessage{ public ChatMe

使用java.util.concurrent.ThreadFactory类创建线程

工厂设计模式是Java中最常用的设计模式之一.它是一种创建型设计模式,能够用于创建一个或多个类所需要的对象.有了这个工厂,我们就能集中的创建对象. 集中创建方式给我们带来了一些好处,例如: 1. 能够很容易的改变类创建的对象或者创建对象的方式: 2. 能够很容易限制对象的创建,例如:我们只能为a类创建N个对象: 3. 能够很容易的生成有关对象创建的统计数据. 在Java中,我们通常使用两种方式来创建线程:继承Thread类和实现Runnable接口.Java还提供了一个接口,既ThreadFac

怎样使用CPropertyPage类和CPropertySheet类创建属性表

CPropertyPage类是属性页类,相当于每一个类就是一个对话框.它继承自CDialog类. CPropertySheet类是属性表类,它有多个属性页.它继承自CWnd类 创建属性表步骤如下: 这里简单的以只有两个属性页的属性表为例子. 1.创建一个主对话框. 如图: 2.在资源中创建一个菜单 如图: 3.给菜单添加事件处理程序 如图: 4.在主对话框属性中添加菜单 如图: 5.添加两个对话框作为属性页 如图: 需要注意的是,对话框外框最好设置为thin(MSDN说的),不过我测试的时候感觉

对于python,一切事物都是对象,对象基于类创建

新建列表.新建string字符串 1 li1 = [1, 2, 3, 4] 2 li2 = list([1, 2, 3]) 3 4 s1 = "abc" 5 s2 = str("abc") 6 7 print(li1) 8 print(type(li1)) 9 10 print(li2) 11 12 print(s1, s2) 13 14 #显示结果: 15 #[1, 2, 3, 4] 16 #<class 'list'> 17 #[1, 2, 3] 1

isinstance判断某个对象是否是某个类创建的

1 #!/usr/bin/env python 2 li = [11,22] 3 #判断某个对象是否是某个类创建的. 4 r = isinstance(li, list) 5 print(r) 结果: C:\Python35\python3.exe F:/Python/2day/c3.py True Process finished with exit code 0

ASP.NET MVC with Entity Framework and CSS一书翻译系列文章之第二章:利用模型类创建视图、控制器和数据库

在这一章中,我们将直接进入项目,并且为产品和分类添加一些基本的模型类.我们将在Entity Framework的代码优先模式下,利用这些模型类创建一个数据库.我们还将学习如何在代码中创建数据库上下文类.指定数据库连接字符串以及创建一个数据库.最后,我们还将添加视图和控制器来管理和显式产品和分类数据. 注意:如果你想按照本章的代码编写示例,你必须完成第一章或者直接从www.apress.com下载第一章的源代码. 2.1 添加模型类 Entity Framework的代码优先模式允许我们从模型类创

java 第54节 继承Thread类创建线程

2016-07-01 1 继承Thread类创建线程 class 类名 extends Thread{ public void runa(){ //相关代码 } } package com.java1995; /** * 继承Thread类创建线程 * @author Administrator * */ public class MyThread extends Thread{ //构造器:给线程命名 public MyThread(String name){ super(name); } /

XML文件操作类--创建XML文件

这个类是在微软XML操作类库上进行的封装,只是为了更加简单使用,包括XML类创建节点的示例. using System; using System.Collections; using System.Collections.Generic; using System.Linq; using System.Text; using System.Xml; namespace testForm { class Operation_APPCFG { XmlDocument xmldoc; XmlNode

【ASP.NET】如何使用类创建公共函数,在不同ASP.NET页面间重复调用

为了减少代码冗余,应将公共函数写在类中,供不同ASP.NET页面调用. 1,先新建一个类,并在类中添加函数逻辑 namespace public_function_demo { public class MyFunction { public static string tbName(string tbNo) { if (tbNo == "510101") { return "3GPP 51.010-1"; } else { return "3GPP 51