为什么SetScrollInfo()函数发送一个WM_SIZE消息给WndProc()?为什么SetScrollInfo()函数将WM_SIZE消息发送到WndProc()?
编辑显然,这是WinAPI中的一个错误。正在发送WM_SIZE消息,因为我忘记在窗口创建中包含WS_HSCROLL | WS_VSCROLL
样式。一旦纠正,WM_SIZE不再被发送。谢谢。
为什么SetScrollInfo()函数发送一个WM_SIZE消息给WndProc()?为什么SetScrollInfo()函数将WM_SIZE消息发送到WndProc()?
编辑显然,这是WinAPI中的一个错误。正在发送WM_SIZE消息,因为我忘记在窗口创建中包含WS_HSCROLL | WS_VSCROLL
样式。一旦纠正,WM_SIZE不再被发送。谢谢。
由于这是一个记录的功能,它可能不是一个错误。
从http://msdn.microsoft.com/en-us/library/windows/desktop/ms632646.aspx:
备注
如果
SetScrollPos
或MoveWindow
函数被调用的子窗口为WM_SIZE
消息的结果,bRedraw
或bRepaint
参数应该是非零引起窗户要重新粉刷。
在我的情况下,SetScrollPos()在WM_CREATE中被调用,并且问题窗口不是一个孩子。这是应用程序的主窗口。 – Belloc 2012-04-20 20:19:43
它可以改变窗口的客户端大小。 – 2012-04-20 19:25:03
这不是我要说的错误,因为它是有记录的行为。 – 2012-04-20 20:09:58