如何製作仿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