调整 SunAwtFrame 的大小

发布于 2024-11-12 17:04:46 字数 478 浏览 1 评论 0原文

有一个使用 AWT 用 Ja​​va 编写的应用程序。我想通过外部程序调整其窗口大小。我的操作系统是Windows XP。实际上这个应用程序是一个在线扑克客户端。

这些窗口属于“SunAwtFrame”类,因此我查找这些窗口并对它们调用 MoveWindow/SetWindowPos。结果不是我所期望的:

一个问题http://savepic.net/1331700.png

如您所见,窗口确实调整了大小,但内容没有调整。手动调整大小时,它会缩放,我希望在这里有相同的行为。 可能需要一些额外的操作才能使 AWT 窗口了解它的大小已调整。 我该如何解决这个问题?

There is an application written in Java using AWT. And I want to resize its windows by an external program. My OS is Windows XP. Actually this application is an online poker client.

The windows are of "SunAwtFrame" class, so I look for those windows and call MoveWindow/SetWindowPos on them. The result is not the one I expect:

a problem http://savepic.net/1331700.png

As you see, the window did resize, but the content did not. While resizing manually it scales, and I want the same behavior here.
Probably, some additional action are needed to make AWT windows understand it was resized.
How can I fix the problem?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

池木 2024-11-19 17:04:46

我建议这样做:

  • 使用 Spy++(作为 Microsoft 中的工具提供)
    Visual Studio)来过滤发送到 SunAwtFrame 窗口的消息。

  • 手动调整窗口大小。

  • 找出在调整大小期间哪些消息被发送到窗口。使用
    MoveWindow/SetWindowPos 和/或在调整大小后发送这些消息。

  • 看一下函数 InvalidateRect 和 UpdateWindow。

I recommend doing this:

  • Use Spy++ (available as a tool in Microsoft
    Visual Studio) to filter messages sent to the SunAwtFrame window.

  • Resize window manually.

  • Figure out which messages are sent to the window during resizing. Use
    MoveWindow/SetWindowPos and/or send those messages after you resize.

  • Take a look at functions InvalidateRect and UpdateWindow.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文