开发日志(2006)

开发日志

21:44 2006-12-12
焦点问题,这些天使用过程没发现有什么异常,权当没问题.把shift+tab的效果也加上去了.
又发现关闭后还在运行,未知原因,继续观察.

0:27 2006-12-3
焦点问题,大概解决了,测试ing
webbrowser对象释放相关问题,原来还有个cScaleWebImage的东东需要处理

22:10 2006-11-26
最近在搞(键盘)焦点问题,发现有很多问题,理想状态下的应该如下,
用tab(或shift+tab)键可以遍历应用程序界面所有的元素,目前仅限于在地址栏,搜索栏及网页中转移;
键盘焦点应该能立即转移到新建的页面中,切换页面时也能自动转移到当前页面,当焦点在地址栏或搜索栏时,焦点不做改变;
当程序重新变为活动窗口时,焦点应该能返回上次为活动窗口时的位置

0:53 2006-10-22
之前发现了几个严重问题:内存不会释放;浏览某些页面时内存占用突然猛增(100-200M);有些时候程序关闭后,窗口关闭了,但进程还存在.
然后发现,
问题原因:
那些问题的核心是关闭页面的时候并没有正确卸载掉webbroeser control, 而仅仅是将其当作普通窗口一样,以为关闭父窗口后,子窗口就能自然的关闭掉了,这里也确实是关闭掉了,但这是个com对象,除了显示出来的部分,还有很多数据占着内存,于是就出现了那样的问题,估计那3个问题都是因为这个而起。
解决:
找到正确的卸载代码,IOleObject.Close,原来有这么个东西啊,一直都不知道,还要.SetClientSite Nothing.
验证:
内存不能释放的问题似乎是解决了,其他2问题有待测试。
一些思考疑问:
做了用了这么久,竟然就没想到应该这样去卸载webbrowser control,好失败,有点不合常理,以后一定注意。

2:16 2006-8-18
插件增加支持ILEEvent接口,可以响应一些事件,例如ActiveWindow,在改变当前页面时发生.同时使支持ie插件成为可能(通过插件实现)

16:29 2006-8-11
增加了消息栏会在弹出页面或对话框被屏蔽时显示出来.但很简陋

0:03 2006-8-9
增加了屏蔽网页对话框功能(xp sp2或以上)
使用INewWindowManager接口即可,但,vb总是有那么些缺陷,vb要返回这种函数值,好像只有err.raise一种方法,而在这里,不起作用.被迫用vc写.然而问题又来了,我希望用atl写的组件在被调用EvaluateNewWindow时能够发生一个event,但最后发现在这种情况下(被调用EvaluateNewWindow时),这个组件在vb中使用时无法触发它发出的event,于是被迫绕弯来解决.
可恶...

21:58 2006-7-19
n久前就看了篇关于"正确地设置和转移焦点"的文章(http://blog.csdn.net/CathyEagle/archive/2006/05/29/762468.aspx),于是着手处理,结果发现不是那么简单,直到今天才基本实现了,按tab键可以使焦点在工具栏(目前是地址栏,搜索栏)与webbrowser中转移,暂时不支持shift+tab的逆序转移焦点,暂时感觉设计上似乎有问题,以后会增加侧边栏的焦点转移

补上2006-5-11的信息

看了http://blog.csdn.net/CathyEagle/archive/2006/04/25/677425.aspx的文章,实现了完美拖拽,在实现了程序自定义拖拽行为的同时也保留了ie原有的拖拽行为.
原来实现起来颇简单,但以前竟没想到,真是...

21:07 2006-5-9
原来是需要INewWindowManager才能拦截到对话框,不过出了点问题,不知为何非法操作.
发现当不是使用ie收藏夹路经时,使用"添加到收藏夹"时就有问题了,显示的路经还是ie的收藏夹路经,而非自己设定的那个.
后来采用DoAddToFavDlg,可以解决该问题,只是不太完美,不过也可以了.
真是奇怪,一直以来竟然忽略了IDocHostUIHandler.GetDropTarget的首参数,这个参数是ie缺省IDropTarget接口指针,只要将其保存下来就可以实现完美的拖拽,该使用ie默认的拖拽行为时就使用.
参考自,http://blog.csdn.net/cathyeagle/,有许多非常棒关于ie编程的文章

23:16 2006-4-15
改用CrCom.dll来创建com对象,简化了代码,取消了两个vboost的引用

在研究UxTheme.dll的用法...

21:49 2006-4-14
修改了cCallByName,执行类型(内置命令,插件命令等)用一个变量表示,每种类型要执行的命令也有个变量表示.

发现在xp下如果使用了manifest文件,工具栏按钮会显示不正常,文字会偏向左边,不知如何解决.
原来可以用SetWindowTheme来打开或关闭某个控件是否显示主题式样.

本来以为newwindow3(xp sp2)可以捕获到网页对话框,怎知不行,不知确实是不行还是有些地方没搞好,郁闷

11:45 2006-2-1
要实现原来的脚本插件,sendkey插件,侧边栏html的功能,需要另外写个插件来实现.考虑到这些应该算是比较又有的插件,可能会使用vc来写.
天啊,好像不是那么简单啊

11:07 2006-1-27
插件系统基本改写完毕,编写插件只需 Implements LEPluginLib.ILEplugin ,然后再根据需要通过implement ILEpluginCmd,ILEpluginMenu,ILEpluginToolband,ILESideBand来添加LE相应的功能.
发现cCallByName必须重写

1:07 2006-1-13
准备重写插件系统,不再区分侧边栏,命令,工具栏等插件类型,也没有dll,script,exe等等类型的插件,只有com型的插件

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值