现在的位置: 首页 > 综合 > 正文

金山卫士界面源码解读及界面库分离(附录) –你问我答

2013年04月21日 ⁄ 综合 ⁄ 共 1418字 ⁄ 字号 评论关闭

一、VS2005、VS2008、VS2010如何编译?

因为我的是VS2003,所以编译出来的lib好像和其他版本的会有冲突,所以请使用以上版本的同学自行编译KUILib/kscbase/kscbase.vcproj这个工程,并将生成的lib放入KUILib/lib,然后就可以编译例子程序了。但注意KUILib/KUILib.vcproj是不需要编译的

 

二、kuimsgbox.cpp怎么找不到呢,KUILib.vcproj编译不成功?

请看第一条,KUILib.vcproj是不需要编译的,KuiApp.cpp,kuiwnd.cpp,kuimsgbox.cpp都已经不需要的,在最新版本都已经清除了,可以看第一篇有说明的。

 

三、请问怎么在程序中移动某个控件?

设置pos属性, 如: SetItemAttribute( 101, "pos", "10,10,100,100" );

 

四、把修改过的资源放回zip包时,用什么软件压缩

可以用任何支持打包zip文件的软件

 

五、VC02010编译器,编译KuiLib时遇到问题

请看第二条。

 

六、名字是KUI的库版本太老了,而且以后不更新了。还是看下BkWin那个版本的吧

最新的版本已经参考了BkWin,并将改进的代码合并进来了。所以这个会综合两者的优点的。

 

七、kui文件怎么生成,直接xml改名貌似不行?

kui是金山卫士界面库使用的资源文件,是Zip格式,请使用支持zip的软件打包。

 

八、如何获取最新版本

使用SVN到以下地址将可以下载本程序最新版本,https://openkui.googlecode.com/svn/trunk

 

九、如何响应系统消息?目前的例子 按alt+f4都无法关闭在任务栏上点右键弹出菜单关闭也不行?

这个可以到主窗口下响应OnSysCommand进行响应,第八条的最新代码里已经带有相关例子。

不过右键菜单则需要自己实现了。可以直接弹出系统的菜单。

 

十、如何 支持鼠标双击窗口标题栏 最大化/恢复 呢?

最新代码里已经添加了相关例子,通过设置xml的窗口样式,在窗口layer节点属性里添加 resize="1",同时可以在主窗口添加按钮图片的更新,通过处理OnSysCommand实现。最新代码里已经在Sample4_Tab添加了实例。

 

十一、如何让程序开始时居中显示?

在LRESULT CMainWnd::OnInitDialog( HWND hDlg, LPARAM lParam )中添加CenterWindow();

 

 十二、还有就是如何改变窗体的位置呢,用windows的api我发现是不可以的?

CMainWnd就是普通的窗口,所以绝对可以使用窗口的API,更简单的是直接在CMainWnd::OnInitDialog( HWND hDlg, LPARAM lParam )中,MoveWindow。如果说的是子窗口,请看第三个问题。

 

十三、请问如何隐藏显示窗体呢?

参考十二,可以直接ShowWindow(SW_HIDE),如果你说的是子窗口控件,则可以使用设置属性的方式。最新代码里已经在Sample2里添加了示例代码。

 

十四、如何做到界面可以拖动大小?

最新的SVN代码已经做了实现。不过还不算非常完美。

 

 

 

 

最新版本r52,https://openkui.googlecode.com/svn/trunk

 

暂时就总结以上疑问,如果大家还有什么疑问,可以直接提出来,我会在这篇文章跟进。谢谢。

 

 

抱歉!评论已关闭.