reactos操作系统实现(165)
在应用程序里,当窗口显示出来之后,需要立即调用一个函数UpdateWindow来更新窗口,否则窗口里面的内容就不会更新,显示还是前面其它窗口显示的内容。现在就来分析这个函数又是怎么样实现的,代码如下:
#001 BOOL
#002 WINAPI
#003 UpdateWindow(
#004 HWND hWnd)
#005 {
在这个函数里只是简单调用RedrawWindow函数来重新画窗口。
#006 return RedrawWindow( hWnd, NULL, 0, RDW_UPDATENOW | RDW_ALLCHILDREN );
#007 }
而函数RedrawWindow的实现代码如下:
#001 EXTINLINE BOOL WINAPI
#002 RedrawWindow(HWND hWnd, CONST RECT *lprcUpdate, HRGN hrgnUpdate, UINT flags)
#003 {
在这里调用WIN32K.SYS里的函数NtUserRedrawWindow。
#004 return NtUserRedrawWindow(hWnd, lprcUpdate, hrgnUpdate, flags);
#005 }