close

不知不覺...ListBox 已經是這個系列第 10 篇 blog 了,現在才深深體會到寫書人的辛苦,厚厚一本書,不知道要燃燒掉多少青春歲月才能完成啊...本來想維持每週至少寫兩篇 blog 的,不過有時後實在...想偷懶,就像光輝的十月那週,想說跟國家一起放個假吧,所以該週掛零...呵呵

言歸正傳,ListBox 是幾乎每個非遊戲類的 app 都會用到的介面,首先我們先看一下官方的 demo 畫面

所以只要是 app 中需要做一些參數設定的介面,大多都會運用到 ListBox,當然其他資訊的呈現,也可以使用 ListBox,不過如同之前提過的,ListBox 跟 ListView 比起來,前者是比較耗資源的…那麼就讓我們一步一步說明,該做哪些設定才能讓 ListBox「長」的像那個樣子

接下來,以 Android 手機中都會有的一個設定音效畫面,來模擬看看如何做出類似的效果

首先,在 Form 上置放一個 TListBox,並且將 Align 設定為 alClient,然後要先處理的是「一般」,這是一個群組的 Title,所以在 ListBox 上按右鍵,選擇 AddItem -> TListBoxGroupHeader

完成後在新增出來的 ListBoxGroupHeader1.Text 屬性輸入「一般」,結果應該會像這樣

接下來要處理的是群組中的項目,所以按滑鼠右鍵後,選擇 AddItem -> TListBoxItem

在新增出來的 ListBoxItem1.Text 屬性中輸入「振動」,另外因為有補充說明「來電發出震動」,所以要將 ListBoxItem1.StyleLookup 改為選擇「listboxitembottomdetail」來顯示明細資訊,選完後將「來電發出震動」登打在 ListBoxItem1.ItemData.Detail 屬性,另外右邊的勾選,則透過調整 ListBoxItem1.ItemData.Accessory 為 aCheckmark 來達成,像這樣

ok..接下來的「音量」、「來電」....如法炮製後,應該可以得出下面的畫面

接下來,通常使用 ListBox 時都會留邊,不會讓每個 Item 都緊貼邊緣,所以要調整 ListBox1.StyleLookup 為「transparentlistboxstyle」,再調整 ListBox1.Margins 的 Left、Right 與 Top 分別為 5,5,15,最後將 ListBox1.GroupingKind 調整為「gsGrouped」,那麼長相就會變成這樣

在手機上執行起來的畫面會是這樣

覺得還不夠像?那麼你可以透過增加一個 TStyleBook,並且選擇適當的 style,然後指定 Form.StyleBook 屬性,那麼...就會變成

這樣應該就更接近了吧....

另外如果覺得 ListBox1.StyleLookup 的各種樣式無法滿足您的需求,你也可以在 ListBoxItem 上置放其他元件,比如之前提過的 TSwitch 等等,所以調整一下,會像這樣

相似度應該超過 90% 以上了吧...剩下的留給大家去發掘...

 

to be continued...

 

arrow
arrow

    縹緲 發表在 痞客邦 留言(0) 人氣()