delphi - 窗口出现在屏幕边缘之外(Delphi)

标签 delphi location screen turbopower

我的应用程序中的窗口从屏幕边缘弹出,这当然是一个问题,因为某些窗口是模态的并且无法关闭(您甚至不知道它们在那里)。

我正在使用 TurboPower Orpheus 组件,它会记住每个表单的位置和大小,然后在再次显示表单时恢复它。它将大小和位置保存在 INI 文件中。

我可以采取什么措施来防止窗口显示出屏幕的一侧?

最佳答案

如果您使用多个显示器然后断开其中一个显示器的连接(例如拔出笔记本电脑时),这种情况很常见。或者,如果您将笔记本电脑连接到更高分辨率的屏幕上。或者使用远程桌面等。 补救措施是通过健全性检查来覆盖“记住我的位置”行为,以查看 left+width 是否超过屏幕的宽度(Screen.Monitors 数组,实际上 - 谢谢大家),反之亦然。高度。

理想情况下,您可以通过减去差异来“碰撞”,这样您就可以抵住窗口想要跨越的边缘。

另外,看看 Orpheus 是否有更新可以修复此问题。如果没有,您可以获取源代码,进行更正(可选),然后将其贡献回项目。我记得是 OSS。

关于delphi - 窗口出现在屏幕边缘之外(Delphi),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3160904/

相关文章:

delphi - 为应用程序启用主题

delphi - 使用控制台应用程序报告关闭时的内存泄漏

delphi - 在报表生成器中在文本旁边打印图片或字符(251)

IOS Swift 获取当前位置更新

javascript - AngularJS 中 $location.path ("/home") 和 $location.$$path ="/home"之间的区别

ios - iPhone 5 优化旧版xib

java - 无法获取另一个类中的屏幕宽度和高度值

delphi - 错误地最大化MainForm

iphone - 如何显示相对于我当前位置的位置?

android - 全屏来电图片和全屏来电显示