在Windows Mobile上實現自動拼寫和匹配建議

作者: 施炯  來源: 博客園  發布時間: 2009-05-14 10:53  閱讀: 2520 次  推薦: 0   原文鏈接   [收藏]  
摘要: 使用Windows Mobile手機的朋友,應該有一個體會,那就是要查找某個聯系人,在輸入目標聯系人名字的過程中,系統會實時按照所輸入的內容來篩選,呈現在列表中,供用戶選擇。

    使用Windows Mobile手機的朋友,應該有一個體會,那就是要查找某個聯系人,在輸入目標聯系人名字的過程中,系統會實時按照所輸入的內容來篩選,呈現在列表中,供用戶選擇。同樣,如果我們要直接撥打電話,在輸入電話號碼的過程中,系統也會實時地將輸入的號碼和聯系人庫進行比較,將匹配的聯系人顯示在列表中,供用戶選擇。

    大家不要小看了這一個功能,其實,在設備小巧、需要花費大力氣來處理輸入和輸出的嵌入式設備上,用戶對UI的體驗是至關重要的。在我看來,這個自動拼寫建議是非常有用的,至少目前很多軟件(諸如各類輸入法等)都有這個功能。那么,如何來實現這個功能呢?如何在自己的應用程序中添加這個Feature呢?大家看過christec的兩篇Blog之后(這兩篇Blog的鏈接我放在文章的最后),應該就會很清楚了。

    首先,我們需要了解的就是SHSetInputContext函數。為了在托管環境中使用,我們需要進行P/Invoke,具體代碼如下:

Code

 

    然后,在使用的時候,只要傳布爾值給這個函數,如下面的代碼,就是禁止auto suggestion

bool value = false;
SHSetInputContext(textbox1.Handle,SHIC_FEATURE.AUTOSUGGEST,
ref value);

為了做一個形象的說明,我們可以來試試。首先,新建兩個聯系人,如下圖1所示:

1:新建兩個聯系人

    然后,將模擬器和蜂窩仿真器建立聯系,具體可以參考《Ring Tone Manager on Windows Mobile》。

    接著,啟動我們的應用程序,給出的例子是這樣的,我們可以發送短信息給某個朋友,在輸入其姓名的過程中,系統會和聯系人庫進行比較,將匹配的人顯示出來,供用戶選擇。如下圖2所示:在Recipient中,我只輸入了頭一個字母“s”,在輸入法的上方就出現了聯系人中匹配的信息。

2:輸入聯系人的自動建議

    同樣,在輸入信息的內容(Message)時,系統也會給出自動拼寫建議,如下圖3所示:

3:輸入信息內容的自動拼寫建議

    另外,我們還可以選擇是否將電池續航能力的信息發送給對方,如下圖4所示:

4:是否包含電池信息選項

    點擊發送“send”,我們可以在蜂窩仿真器中看到信息,如下圖5所示:

 

5:蜂窩仿真器中的信息

0
0
 
標簽:Mobile
 
 

文章列表

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()