在 MFC(Microsoft Foundation Classes)中,CWnd::SetWindowPlacement 并不是 CWnd 类的直接公共方法。但是,CWnd 类提供了一个 SetWindowPlacement 方法,该方法是从 CWnd 派生的 CFrameWnd 类中继承而来。
BOOL SetWindowPlacement(const WINDOWPLACEMENT* lpwndpl);

  •  lpwndpl 参数是一个指向 WINDOWPLACEMENT 结构的指针,该结构包含有关窗口位置和状态的信息。


WINDOWPLACEMENT 结构的定义如下:
typedef struct tagWINDOWPLACEMENT {
    UINT  length;
    UINT  flags;
    UINT  showCmd;
    POINT ptMinPosition;
    POINT ptMaxPosition;
    RECT  rcNormalPosition;
} WINDOWPLACEMENT;

使用示例:
// 假设 pWnd 是一个指向 CWnd 对象的指针
WINDOWPLACEMENT wp;
wp.length = sizeof(WINDOWPLACEMENT);
pWnd->GetWindowPlacement(&wp);  // 获取当前窗口位置和状态

// 修改 wp 中的信息,然后设置新的窗口位置和状态
wp.showCmd = SW_SHOWNORMAL;  // 设置为正常显示
pWnd->SetWindowPlacement(&wp);

上述代码演示了如何使用 SetWindowPlacement 方法来设置窗口的位置和状态。在实际使用中,你需要根据实际需求修改 WINDOWPLACEMENT 结构中的信息。


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