18.3.3 键分布和焦点
下面简单说明对话框如何处理 OfferKeyEventL()(详细的信息,请查看 SDK 中的 OfferKey EventL())。
任何时刻,在带有标题的控件组中,只能其中一个控件拥有焦点。这就是说,这一行要么加高光显示,要么显示一个光标,它是“大部分”按键事件的接收者。当对话框提供一个按键事件时,它自己处理一些特定事务(如向对话框中的按钮提供“确认”功能),另外,给当前获得焦点的通用控件提供键。
通用控件指可用在对话框以及应用视图中的控件。让对话框中使用的控件也可用于应用视图中并不困难,而且这也是理想的设计目标。但是让应用视图中的控件在对话框中也可用几乎没有必要,除非有足够的理由,否则你不应去做这种尝试。
特殊情况还有很多,但这里的讲解足以说明焦点的作用,并初步说明了为什么要提供键,以及为什么不能总是使用这些键。 提供明显的焦点视觉提示非常重要,因此所有的组件协同工作实现了这一目标。
对话框是置顶窗口:该对话框存在即具有焦点。
按钮和标题栏永远不会具有焦点,因此,无论它们是否具有焦点,它们都没有必要改变绘制代码来做出响应。
那些设计运用于对话框的通用控件应当在聚焦时显示光标(如果有光标的话),否则不显示光标;许多编辑器包含某些种类的光标,以表示它们拥有焦点。
【责任编辑:
董书 TEL:(010)68476606】