我正在用 C++ 创建一个 Windows 应用程序。我正在使用 SDL ( http://www.libsdl.org/ ) - 但是这个问题适用于许多其他类型的用 C++ 编写的 Windows 应用程序,因为几年前我在 MFC 中遇到过同样的问题并且从未解决过这个问题。
现在我希望我的应用程序以最大化的方式启动。许多其他应用程序默认以最大化状态启动,例如当我运行 firefox 时,它会自动以最大化状态启动。
现在我读到我可以使用 ShowWindow http://msdn.microsoft.com/en-us/library/ms633548
通过调用:
ShowWindow(info1.window, SW_MAXIMIZE);
窗口然后在调用时最大化,就好像用户单击了最大化按钮一样。但是,问题是当我的应用程序启动时,首先它以特定大小(例如 700 x 500)启动,然后当调用 ShowWindow 时,它会最大化。这是 Firefox 启动方式之间的一个很大区别,Firefox 启动后只是显示为最大化而不首先显示为小尺寸。
所以我的问题是,在调用 ShowWindow 之前,如何在没有这个中间窗口大小(未最大化)的情况下启动最大化?用户看到一个较小的窗口然后在启动时突然最大化是很烦人的。
如果你能告诉我如何在 MFC 或 DOT NET 中做到这一点,我想我可能会弄清楚如何在 SDL 中做到这一点。