不去在乎结果,热情地付出过,就好了.

程序的对焦点夺取体现开发商的人文关怀

关于什么是焦点,请看后面的解释.

大家有没有经常遇到这样的情况:

自己在输入一段文字,但是后台又运行有其他程序,

当文字输入到一半,这时后台程序来了一个弹窗或者突然置顶,

在输入法里剩下的半截拼音直接录进去了,

再或者,输密码的时候,输到一半,弹窗或者置顶,

自己输到哪了不知道,只好全删了重新输,这个最恼火了.

个人认为这样随意夺取屏幕焦点的行为,

跟那什么”一个艰难的决定”是一个性质,

当然什么时候应该夺取,什么时候应该保留是非常难以判断的,

这有可能涉及到用户的使用习惯,

一个简单的处理方法就是交给用户自己决定,

目测现在很多软件都是打开默认拥有焦点,覆盖之前的,

而不是默默地打开等待用户使用,

这里要说明的是,

焦点窗口和前景窗口,活动窗口并不是一个概念,

指的是能获得键盘输入的窗口,

大家难道不觉得,在没有任何提示的情况下,

夺取焦点,打断用户的输入,是一种非常野蛮的行为吗?

 

PS:

焦点究竟是什么呢?

简单的说,焦点决定了由哪个窗口或者控件接收键盘输入信息,因此,它又被称作输入焦点.对于用户来说,最直观的感觉是,有光标闪动的窗口或者被高亮的控件就有焦点.

很多初级应用程序员或者Windows用户有这样一个误解,认为凡是鼠标点击的窗口就是焦点窗口.当出现有的窗口或者控件点击后没有反应的现象时,就认为是焦点出现了问题.事实上,焦点仅仅控制着键盘的输入,而鼠标输入与焦点没有直接关系.

用户之所以有这样的误解是由于另一个概念,系统的焦点模式(focusmode).焦点模式决定了鼠标如何使一个窗口获得焦点.一般来说,焦点模式被分为三种:

click-tofocus:

这种模式就是指鼠标点击的窗口就可获得焦点.这是Windows用户最常见的一种模式.鼠标点击的窗口会被激活,被置于所有窗口的最前面,并接收键盘输入.

focus-follow-mouse:

有的地方也称这种模式为pointerfocus.它是指鼠标下的窗口可以获取焦点.当鼠标移到一个可以获得焦点的窗口的范围内,用户不需要点击窗口的某个地方就可以激活这个窗口,接收键盘输入.但是,这个窗口不一定会被置于所有窗口的最前面.当鼠标移出这个窗口的范围时,这个窗口也会随之失去焦点.

sloppy-focus:

这种模式与focus-follow-mouse一样,当鼠标移至某窗口的范围内的时候,该窗口会获得焦点.与focus-follow-mouse不同的是,当鼠标移出这个窗口范围时,焦点也不会随之改变.只有当鼠标移动到别的可以接收焦点的窗口时,系统焦点才改变.不同的系统对焦点模式的支持不同,所使用的焦点模型也有很大的区别.

打赏

Add comment

17 − 7 =

不去在乎结果,热情地付出过,就好了.
某一天,你所坚持的,和承担过的一切,会有回应。它们并非失去踪迹,只是需要时间抵达。这和星光落入眼睛里,是一样的道理。

近期文章

近期评论