admin 管理员组文章数量: 887021
windows 7 上也有widget,叫做Gadgets,是默认安装的,安装位置在C:/Program Files/Windows Sidebar,在win7 桌面的右键菜单里面有小工具这个选项,通过这个就可以启动Gadget.这个版本与Vista的区别是没有在桌面右端的停靠区.
我感兴趣的是它怎么样实现的?通过分析,我发现Gadgets的引擎是用ie实现的,窗口的透明是通过ws_ex_layered实现的.每个Gadgets起码有两个窗口,一个是ie引擎的窗口,这个一个普通的窗口,另外一个窗口是具有ws_ex_layered属性的窗口,这个窗口是ie引擎的窗口的父窗口(这个可以通过spy++知道).
知道了Gadget的引擎是ie,就容易理解Gadget该怎么样编写了. Gadget实际就是网页(html+css+js+vbscript)的变种,它给ie引擎增加了一些内置对象,以便扩展js和vbscript的功能.
另外,每个Gadget旁边的控制栏(就是有关闭按钮,拖动按钮的那个小东西)上面显示什么不是根据配置文件来决定的,而是根据网页里面的js有没有实现相应的回调.例如日历Gadget的旁边有一个较小尺寸的按钮,要显示这个就必须设置两个回调,如下:
System.Gadget.onDock=Dock;
System.Gadget.onUndock=unDock;
要显示设置按钮只需要设置一个回调:
System.Gadget.settingsUI = "settings.html";
版权声明:本文标题:关于windows 7 上的Gadgets(小工具) 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.freenas.com.cn/jishu/1715906764h657082.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论