zl程序教程

您现在的位置是:首页 >  系统

当前栏目

reactos操作系统实现(165)

操作系统 实现 reactos
2023-09-14 09:10:39 时间

在应用程序里,当窗口显示出来之后,需要立即调用一个函数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  }