当调整窗口大小Windows发送几条消息:
- WM_GETMINMAXINFO
- WM_ENTERSIZEMOVE
- WM_EXITSIZEMOVE
- WM_NCCALCSIZE
- WM_SIZING
- WM_SIZE
- WM_WINDOWPOSCHANGING
- WM_WINDOWPOSCHANGED
甚至更多。
如果我想当我调整窗口, 在这里 ,我应该怎么做,以重新定位的孩子吗?
我在寻找“最佳”的方法-即用最少的疑难杂症的和最不闪烁的方法。
我目前的方法是进行内部的所有重新定位WM_NCCALCSIZE
,使用DeferWindowPos
。
不过,我也试着处理这里面WM_WINDOWPOSCHANGED
......但无论身在何处我处理一下,好像总是有至少一个 “瞬间”的时候,窗口中画了一个中间状态,其中窗口的大小有改变,但它的内容还有待调整。
我也想另一个作用,以避免:移动一个孩子后,它已经感动。 我不希望用户看到控制滑了下来,然后回来 ,因为我的改变-它应该有尽可能少的瞬态效应越好。
我在做正确吗? 有没有更好的地方,我可以躺在窗外的孩子?