如何制作仿NeoPlanet界面
自从电子日记本诞生以来,作者收到了很多信,其中有相当一部分是因为对软件界面好奇而询问作者如何制作出这种界面效果。现将制作方法集成在一个有源程序的示范程序中,统一回答各位朋友。其实要做出这种仿NeoPlanet界面效果并不是很难,稍微懂C++Builder的朋友只要看一下示范程序便会觉得真相大白。下面简要介绍一下里面的技术要点。
● 总体构思:
大家平常写程序时,在新建一个窗体的时候一般都从TForm类继承,TForm是VCL中的缺省窗体基类,所以从TForm继承的窗体只能保持Windows标准界面风格。但如果不直接从TForm类继承,而是自己写一个窗体类(如TNeoForm),该类接管大多数窗体操作的消息(如改变大小、最大最小化等),并且修改Windows固有的标准界面,然后当新建窗体时,一律从TNeoForm继承,这样一来就可以使你的应用程序中的所有窗体都具有TNeoForm的风格和特性,于是目的就达到了。
● TNeoForm的设计:
示范程序中有TNeoForm的完整源程序,不算很长,只有560行,仔细研究一下便可明白。有必要提出的是,TNeoForm还不是十全十美,需要改进的地方有很多,如果哪位朋友有兴趣把它改得更好,希望能给原作者发一份(Email:
[email protected])。
● 需注意的事项:
1、TNeoForm目前不能处理菜单热键(如Alt+X等),唯一办法只有将新建窗体的KeyPreview设为true,然后在窗体的KeyDown事件里面用程序处理菜单热键。
2、要设置窗体是否能被用户该变大小,必须在窗体的构造函数或FormCreate事件中给Sizeable赋值。
3、要设置窗体是否具有最大化按钮或最小化按钮,可以在C++Builder中的对象浏览器(Object Inspector)中对窗体的BorderIcons属性直接进行设置。
笔者:郝新庚
1999/10/15