小弟最近想设计一个较为好看的软件界面,开发环境为Windows XP + Visual C++ 6.0。经过仔细的比较,非常欣赏一种能够自动隐藏的窗体,我也不清楚应该把它叫做Auto Hide Window还是Docking Pane,就像下图这样的。
当自动隐藏时,在侧边上这样显示:
http://www.codeproject.com/showcase/codejock01/cjsc_07.gif
当鼠标移动到侧边上时,窗体缓缓弹出:
http://www.codeproject.com/showcase/codejock01/cjsc_08.gif
直到鼠标离开窗体所在的区域时,窗体又会隐藏。
或者这样的窗口也不错:
http://www.codeproject.com/wtl/wtlsnap/wtlsnap.png最近在一些网站上查阅了大量的资料,还是一头雾水。以前只是用MFC做简单的界面,因此对界面设计了解很少,需要学习的东西很多。最近下载了商业软件BCGControlBar Library Professional Edition,和Codejock Software的Xtreme Toolkit Professional Edition,对里面提供的例子程序进行了编译和使用,界面确实很漂亮。可惜既然是商业软件,提供的类库都有使用期限,程序运行时必须有dll文件的支持,更不会有源代码。另外,DotNetMagic 3.0.2也能够提供这样的界面并有源代码,可惜是在.net下开发的。于是在Codeguru和CodeProject上寻找相关的资料和源代码。
在Codeguru上看到了Visual Studio.NET Style Tear Off Panes,(http://www.codeguru.com/Cpp/W-D/docking/),提供了所有的源代码。但好像有一个小的bug,在窗体弹出时界面不停的闪动(不知怎么回事),和上面的相比还有一些差距,不过已经很厉害了,向作者表示高度的敬意。另外,在CodeProject上也发现了这种窗体的使用WTL(Windows Template Library)的实现,又是需要从头开始学习的。但由于需要用到MFC中的类库,仅仅因为界面设计就使用WTL似乎有点舍本逐末。而且,经过对WTL的粗略的了解,我有点被吓到了。一不小心说了这么多,再次希望大家能够给点建议,应该使用哪种方法呢,或者还有什么更好的方法。如果能够见到开发过这种界面的朋友,那就是我的运气了,希望大家不吝赐教。先谢谢大家了!!!