ScrollWindow.
IflpRectisnotNULL,thepositionsofchildwindowsarenotchangedandinvalidareasinthewindowar...
If lpRect is not NULL, the positions of child windows are not changed and invalid areas in the window are not offset. To prevent updating problems when lpRect is not NULL, call UpdateWindow to repaint the window before calling ScrollWindow.
这句话里面的“To prevent updating problems when lpRect is not NULL, call UpdateWindow”为什么呢?? 展开
这句话里面的“To prevent updating problems when lpRect is not NULL, call UpdateWindow”为什么呢?? 展开
1个回答
展开全部
在windows程序设计这本书里是这样解释ScrollWindow的:ScrollWindow最后两个参数设定为NULL,这指出了要卷动整个显示区域。Windows自动把显示区域中未被卷动操作覆盖的矩形设为无效。这会产生WM_PAINT消息。
百科是这样解释:
如果参数lpRect不为空,则窗体中的子窗体的位置不改变,窗体中无效(未着色)的区域也不进行偏移。为了防止lpRect不为空时更新的问题,则在调用ScrollWindow之前先调用UpdateWindow函数重绘窗体。
又windows程序设计:如果您希望立即更新无效区域,可以在呼叫InvalidateRect之后呼叫UpdateWindow:
UpdateWindow (hwnd) ;
如果显示区域的任一部分无效,则UpdateWindow将导致Windows用WM_PAINT消息呼叫窗口消息处理程序(如果整个显示区域有效,则不呼叫窗口消息处理程序)。这一WM_PAINT消息不进入消息队列,直接由Windows呼叫窗口消息处理程序。窗口消息处理程序完成更新后立即退出,Windows将控制传回给程序中UpdateWindow呼叫之后的叙述。
百科是这样解释:
如果参数lpRect不为空,则窗体中的子窗体的位置不改变,窗体中无效(未着色)的区域也不进行偏移。为了防止lpRect不为空时更新的问题,则在调用ScrollWindow之前先调用UpdateWindow函数重绘窗体。
又windows程序设计:如果您希望立即更新无效区域,可以在呼叫InvalidateRect之后呼叫UpdateWindow:
UpdateWindow (hwnd) ;
如果显示区域的任一部分无效,则UpdateWindow将导致Windows用WM_PAINT消息呼叫窗口消息处理程序(如果整个显示区域有效,则不呼叫窗口消息处理程序)。这一WM_PAINT消息不进入消息队列,直接由Windows呼叫窗口消息处理程序。窗口消息处理程序完成更新后立即退出,Windows将控制传回给程序中UpdateWindow呼叫之后的叙述。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询