如何在不破坏 wxWidgets 调整大小和移动的情况下制作自定义边框?
How to make a custom border without breaking resize and move in wxWidgets?
我正在使用 wxWidgets 作为 GUI 库用 C++ 编写应用程序,我想创建自定义 windows。我希望它们看起来像 Visual Studio 或 3ds Max。是否可以删除边框但保留调整大小和移动功能?我可以使用 wxBORDER_NONE
并捕获所有事件以删除和调整大小(我希望),但在我看来应该有更简单的方法来自定义 wxFrame 的外观。也许像包含所有需要的位图和设置的文件之类的东西?
具有我需要的这些功能的示例图像:
您将无法以可移植的方式执行此操作,因此 wxWidgets 不会为此提供任何 API。但是您只能以通常的方式为 Windows 执行此操作,即删除正常边框(wxBORDER_NONE
样式)并在覆盖的 MSWWindowProc()
中处理 WM_NCHITTEST
以假装特定部分您的 window 行为与标准边框相同。
我正在使用 wxWidgets 作为 GUI 库用 C++ 编写应用程序,我想创建自定义 windows。我希望它们看起来像 Visual Studio 或 3ds Max。是否可以删除边框但保留调整大小和移动功能?我可以使用 wxBORDER_NONE
并捕获所有事件以删除和调整大小(我希望),但在我看来应该有更简单的方法来自定义 wxFrame 的外观。也许像包含所有需要的位图和设置的文件之类的东西?
具有我需要的这些功能的示例图像:
您将无法以可移植的方式执行此操作,因此 wxWidgets 不会为此提供任何 API。但是您只能以通常的方式为 Windows 执行此操作,即删除正常边框(wxBORDER_NONE
样式)并在覆盖的 MSWWindowProc()
中处理 WM_NCHITTEST
以假装特定部分您的 window 行为与标准边框相同。