在 MFC(Microsoft Foundation Classes)中,CWnd::SetWindowPos 是 CWnd 类的一个公共方法,用于设置窗口的位置和大小,并可以调整其 Z 顺序。

函数原型为:
BOOL SetWindowPos(const CWnd* pWndInsertAfter, int x, int y, int cx, int cy, UINT nFlags);

  •  pWndInsertAfter 参数是一个指向 CWnd 对象的指针,表示在哪个窗口之后插入当前窗口。通常可以使用 CWnd* pWndInsertAfter = &wndTopMost; 来将窗口置于顶层。


  •  x 和 y 参数是窗口的新位置的 x 和 y 坐标。


  •  cx 和 cy 参数是窗口的新宽度和高度。


  •  nFlags 参数是一组位标志,指定调整窗口位置和大小的方式。例如,可以使用 SWP_SHOWWINDOW 来显示窗口。


使用示例:
// 假设 pWnd 是一个指向 CWnd 对象的指针
pWnd->SetWindowPos(&wndTop, 100, 100, 200, 150, SWP_SHOWWINDOW);

上述代码将设置窗口对象 pWnd 的位置为 (100, 100),大小为 (200, 150),并显示该窗口。可以根据实际需求调整参数和标志。


转载请注明出处:http://www.pingtaimeng.com/article/detail/23405/MFC/CWnd