×
Namespaces

Variants
Actions

使你的控件获得更高的键盘响应优先级

From Nokia Developer Wiki
Jump to: navigation, search
Article Metadata

文章
chengkai 在 02 Sep 2007 创建
最后由 hamishwillee 在 15 Dec 2011 编辑

symbian 框架维护一个控件堆栈,控件的键盘响应是通过栈顶至下传递,当栈顶控件返回EKeyWasNotConsumed时其下方的控件才有机会接受到按键处理事件. 要想你的控件获得较高的键盘响应优先级通常你需要确保你的控件在控件堆栈的顶部。 当我们无法确保自己的控件始终位于控件栈的顶部时,可以使用另外一种方式控制控件响应按键事件的优先级。那就是在执行AddToStackL()方法时指定第二个参数aPriority 为其指定优先级。

MyControl * mycontrol = Mycontrol::NewL(rect,aparect);
AddToStackL(mycontrol ,priority);

以下是系统定义的几个控件优先级别的枚举常量,其优先级按照数字从小到大依次排列。如果你想捕获对话筐或者菜单按键仅仅需要在你的控件压入控件栈的时候为其指定较大的优先级即可。

 * ECoeStackPriorityDefault  0
 * ECoeStackPriorityMenu 10
 * ECoeStackPriorityDialog 50 
 * ECoeStackPriorityCba 60
 * ECoeStackPriorityAlert 200 
 * ECoeStackPriorityFep 250 
 * ECoeStackPriorityEnvironmentFilter 300
This page was last modified on 15 December 2011, at 13:06.
45 page views in the last 30 days.
×