如何获得窗口的大小

时间:2012-10-28 07:06:53

标签: wxwidgets

我想为点数组分配内存。

我想依赖于屏幕尺寸,以便我可以正确绘制。

但我不知道屏幕的大小,除了在函数onPaint()中调用GetClientSize()

我发现GetClientSize()GetSize()的结果是如此不同,以至于我无法知道它们之间的联系是什么。

在我调用绘制函数之前,我是否可以知道大小???

2 个答案:

答案 0 :(得分:0)

客户端大小是可绘制区域。窗口大小是,客户端大小+标题大小+其他帧大小。全部:))

答案 1 :(得分:0)

您可以处理EVT_SIZE以获得有关大小更改的通知,但通常甚至不需要:您只需将GetClientSize()处理程序中EVT_PAINT的返回值与之前缓存的值进行比较并在必要时更新后者。

您需要使用客户端大小,这是您绘制的窗口区域的大小,而不是完整大小,其中还包括菜单/工具/状态栏和窗口装饰。