Bri*_*ost 3 forms delphi focus modal-dialog
我正在为我的应用设置一个简单的"启动菜单",其中(有经验的)用户可以选中或取消选中各种运行选项.启动菜单是一个简单的无边框形式,以模态和方式显示
我显示这个启动选项对话框,因为我正在启动我的应用程序,如果用户持有F8键 - 我发现Windows不使用F8,所以你可以实际按住F8,同时点击我的exe和我的启动的快捷方式对话框打开.这是探针.
我的表单不会成为活动的应用程序 - 而是托管我单击的快捷方式的资源管理器窗口.如果我单击我的表单(启动对话框),它将获得焦点.如何让我的启动对话框从'拉'窗口聚焦到它?
一般来说,你无法集中注意力.来自Raymond Chen的Old New Thing博客:
...窗口管理器认为没有理由让第一个实例有权获取前景.没有证据表明第一个实例是响应某些用户操作而进入前台的.
有多种方法可以解决这个问题.最简单的方法就是......
......彻底窃取焦点是错误的做法......
......仅仅因为没有好办法做某事并不意味着你被自动允许以不好的方式去做.
问题是用户一直在给不属于你的程序提供输入.你没有权利因为你想要它而拥有焦点.
它可能不是你想要的答案,但它就是答案.微软一直在努力阻止试图窃取焦点的程序.您提出的任何解决方案都违反了规则,并且可能在将来的任何时候都无法解决.
......仅仅因为没有好办法做某事并不意味着你被自动允许以不好的方式去做.
归档时间: |
|
查看次数: |
1558 次 |
最近记录: |