HTMLayout理解1

HTMLayout的窗口创建过程

1. 注册自己的窗口类型,包括wndproc处理函数

2. 创建窗口,并制定刚才注册的窗口类型和当前窗口进程句柄

3. 将自己的window类指针传给窗口的userdataSetWindowLongPtr(非必须)

4. api HTMLayoutSetCallback 设定消息回调

5. 锁定htm资源,并用HTMLayoutLoadHtml载入htm资源

6. HTMLayoutWindowAttachEventHandler来指定一个继承自event_handler的结构体

7. 添加behavior的过程,有些部分是在运行初期执行的,在1~6之前

      首先自己定义的behavior继承自struct behavior。并且在定义之外,创建一个自定义的behavior的实例,通过构造函数将这  

      个behavior添加到全局的behavior列表里面去。

      然后再loadhtml的某一个元素的时候,HTMLayoutNotifyHandler里面受到   

      HLN_ATTACH_BEHAVIOR的消息,然后调用默认的htmlayout::behavior::handle来绑定之前已经添加进去的行为。

 

其他

1.默认的htm文件要作为资源加到工程里面去。

2.虽然执行了HTMLayoutLoadHtml但是还是空白一片原因是:

   WndProc里面没有追加消息转发函数HTMLayoutProcND

3.htmlayout里面有对行为的自己的实现,比如说对hyperlink的。因此当它为默认的behavior的时候,即使你没有登陆,

   提供的dll也能提供一部分机能。如果将官方提供的hyperlink的源码拷贝进工程之后,可以对它的机能进行自定义,

   包括在notify函数中进行自己的处理。

 

其他没关系的

1.在C++中,classstruct是同样的东西

区别在于class中的成员函数和变量如果不指定访问类型的话,缺省是private的,而struct中的成员函数和变量如果不知定访问类型,缺省是publicclass可以继承struct。

2.1>LINK : fatal error LNK1104: ファイル'D:/visual.obj' を開くことができません。

是因为在指定追加lib的时候,所含的路径里面包含了空格。加上引号即可。

3.想查看具体link哪些lib的话,可以在工程link设定里面添加/VERBOSE:LIB

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值