美化Windows Mobile上的自定義資料表

2022-02-12 18:05:17 字數 1841 閱讀 8363

對於,想要獲得透明的效果,可以有兩種途徑。第一種,使用.net cf中system.drawing.imaging命名空間下的imageattributes.setcolorkey(color, color)這個方法。第二種,我們可以利用平台呼叫來做alpha blending,有關alpha blending的一些原理,在之前的《alpha blending and alpha channel on windows mobile》這個帖子中做了一些說明,這裡就不再贅述。

另外,我們可以利用色彩的漸變效果,從一種顏色逐漸過渡到另一種顏色,同樣,這也可以應用到windows mobile的介面設計上去。《how to: display a gradient fill》這篇文章具體講述了如何在.net framework下,實現漸變的填充效果,可以作為參考。

圖1:所需的相關p/invoke檔案

為了突出表頭和使用者選定文字所在行的資料,加入了headercontrol.cs和customselectioncolumn.cs這兩個檔案,主要作用是過載了paint、onpaint、onmousedown和onmouseup函式,在其中呼叫platformapi封裝好的alpha blending和gradient fill函式,實現預期的透明以及漸變的效果。

在我們自己的工程中,可以宣告乙個datagrid以及headercontrol。

在初始化控制項之後,建乙個dataset,向dataset中新增乙個datatable。然後,我們就可以設定datatable中每一行的漸變風格了,即使用lineargradient(color,color)函式對customcolumn.selectedgradient進行設定,自定義每一行的漸變顏色。

同時,為了突出表頭,我們也可以單獨設定表頭的漸變風格,即利用lineargradient(color,color)對headercontrol. backroundgradient進行設定。

在使用的時候,我們會發現,使用者選定的行與其他行的顏色是不一樣的,這是因為,在customselectioncolumn.cs檔案的paint過載函式中,對使用者選擇的行與其他行做了分類處理。

這個**最終的顯示效果如下圖2所示:

圖2:效果圖

對於rgb顏色,除了紅白藍等顯著的顏色,一般我們很難記住其數值,這裡推薦乙個網頁:rgb.txt decoded .下圖3給出了部分截圖。

圖3:rgb數值及其顏色效果

希望這裡講的這種方法對大家在windows mobile上做ui時有用。

2. alpha blending and alpha channel on windows mobile

3. how to: display a gradient fill

4. rgb.txt decoded

玩轉windows mobile選單

1.wm的選單比較特殊,首先要有乙個放置選單的地方,這就是 menu bar 乙個視窗,擁有視窗控制代碼 hwnd 可以通過 showwindow 來顯示和隱藏 a 系統缺省會建立乙個空的 menu bar 如在dialog 模式下,menu bar 上只顯示了乙個輸入法圖示,returns men...

Windows Mobile開發簡介

windows mobile開發簡介 簡單介紹windows mobile上的應用軟體開發過程 os windows mobile windows mobile上的應用軟體開發主要用visual c vb,visual c ide用visual studio 2005以上版本。helloworld ...

windows mobile傳送簡訊

windows mobile傳送簡訊應用分為兩種,一是呼叫windows mobile自有的傳送簡訊視窗,將接收使用者的手機號碼傳遞給該視窗,完成簡訊傳送,另一種是通過呼叫api將文字傳送給指定的號碼,這中傳送方式對於使用者是無感知的視窗簡訊 視窗簡訊實現比較簡單,可以直接使用下面的啟動引數啟動系統...