最近为方便起见我将Windows XP设置为“自动将指针移动到对话框中的默认按钮”(通过控制面板 => 鼠标 => 指针选项)。
对于大多数对话框(例如Windows文件删除确认,Outlook清空已删除项目)Windows将遵循此指令并自动将光标放在默认按钮上方,但有些(特别是Firefox,例如我尝试关闭浏览器,清除最近的浏览历史记录或其他各种任务)将不会移动光标。
任何拥有Windows编程专业知识的人都可以澄清这是否正在发生,因为Mozilla“推出了他们自己的”对象,而不是从MFC派生,这可能是为什么这个行为在Windows自己和其他Microsoft应用程序上成功的原因?或者是否出现这种情况,这与每个应用程序的构建方式完全无关?
答案 0 :(得分:3)
我当然不知道,但我猜它与Windows按钮样式有关,它指定了默认按钮。如果Firefox没有在他们的按钮上设置这种窗口样式(他们可能不会,如果为默认按钮做自己的UI样式),那么Windows就不会知道它,因此行为。不过只是一个猜测。
供参考: http://msdn.microsoft.com/en-us/library/bb775951%28VS.85%29.aspx (BS_DEFPUSHBUTTON)