首页>
知识库>
详情

VC中窗口最大化、最小化的实现方法

2020-07-21 来源:CloudBest 阅读量: 0
关键词:

    利用AppWizard生成运用程序框架时,VC++已经为我们在标题条上做好了最大化,最小化及恢复按钮。但有时我们也想在其它地方使用这些功能。这就可采用下面的办法。在指定的消息处理函效中加入下列语句,则程序在收到该条消息后即执行窗口最小化。
    WINDOWPLACEMENT   lwndpl;
    WINDOWPLACEMENT   *   lpwndpl;
    lpwndpl=&lwndpl;
    GetWindowPlacement(lpwndpl);
    lpwndpl->showCmd=SW_SHOWMINIMIZED;
    SetWindowPlacement(lpwndpl);
    函数BOOL GetWindowPlacement(WINDOWPLACEMENT * lpwndpl) const的作用为获取表示当前窗口的布局的结构WINDOWPLACEMENT的结构变量指针。
    结构WINDOWPLACEMENT定义为:
    1219067900
    typedef   struct   tagWINDOWPLACEMENT   {/*   wndpl   *   /   UINT   length;
    UINT   flags;
    UINT   showCmd;
    POINT   ptMinPosition;
    POINT   ptMaxPosition;
    RECT   rcNormalPosition;
    }   WINDOWPLACEMENT;
    其中的成员变量showCmd确定当前窗口的状态。其取值一般为:SW_HIDE隐藏窗口。
    SW_MINIMIZE最小化指定的窗口。SW_RESTORE将最大化或最小化的窗口恢复原来大小。
    SW_SHOW以原来的大小激话并显示窗口。SW_SHOWMAXIMIZED激活并最大化窗口。函数 BOOL SetWindowPlacement(const WINDOWPLACEMENT * lpwndpl)作用为按结构MENT 的设置显示窗口。