Windows Mobile 秉承微软PC OS的良好传统,以友好的界面让人难忘,如同PC机一样,windows 手机也有一个主菜单 -- StartMenu。
微软实现了主菜单的快捷键,用户可以通过快捷键快速的选中自己想要点击的item。若想修改StartMenu,程序员就要清楚地知道微软是如何设置快捷键的。即使用了何种算法来设置快捷键。
通过这几天对StartMenu的研究,笔者基本搞清楚了这套算法。总的来说,我认为微软是用简单有效的办法来实现的。说来也不复杂,它有一个总的原则:取首个未被使用的字母为快捷键,若没有这样的字母则设首字母为快捷键。即在一个item中,出现的第一个未被设置为快捷键的字母为快捷键。例如:一个名为Mygame的item,如M, y,在前面都设为了快捷键,而g没有,那么这里将把g设为快捷键,若Mygame整个字符串中的每个字母在前面都被设为了快捷键,则设M为快捷键。
一般来说,快捷键的设置是动态的,即有增减,快捷键就会相应的做出调整。但需要注意的是,微软为一些item设置了固定的快捷键,如programs, settings,它们的快捷键都是固定的p和s,不会改变。当然还有其他的,在这里就不一一列举了,读者有兴趣可以自己去试,不同一个总的原则是系统自带或常用的软件。
希望本文可以为windows mobile的开发者提供一些有用的信息。