您的位置:首页 > 编程语言 > C语言/C++

VC++MFC 窗口最大化、最小化的实现!

2012-09-02 13:44 423 查看
VC++MFC 窗口最大化、最小化的实现!

当利用AppWizard生成运用程序框架时,VC++已经为我们在标题条上做好了最大化,最小化及恢复按钮。

但有时我们也想在其它地方使用这些功能。这就可采用下面的办法。

在指定的消息处理函效中加入下列语句,则程序在收到该条消息后即执行窗口最小化。

WINDOWPLACEMENT lwndpl;

WINDOWPLACEMENT * lpwndpl;

lpwndpl = &lwndpl;

GetWindowPlacement(lpwndpl);

lpwndpl->showCmd = SW_SHOWMINIMIZED;

SetWindowPlacement(lpwndpl);

BOOL GetWindowPlacement(WINDOWPLACEMENT * lpwndpl) const

函数的作用为获取表示当前窗口的布局的结构WINDOWPLACEMENT的结构变量指针。

结构WINDOWPLACEMENT定义为:

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的设置显示窗口。

MFC中的CWnd类提供了下面两个函数用于判断窗口的最大化、最小化状态,其子类继承了这些函数:

IsZoomed:判断窗口是否处于最大化状态。

IsIconic:判断窗口是否处于最小化状态。

可以使用CWnd::ShowWindow函数设置窗口的显示状态,其函数原型如下:

BOOL CWnd::ShowWindow( int nCmdShow );

其中nCmdShow常用值有:

SW_HIDE: 隐藏窗口

SW_SHOW: 激活并以当前的大小在当前位置显示窗口

SW_SHOWMAXIMIZED: 最大化窗口

SW_SHOWMINIMIZED: 最小化窗口

SW_SHOWNORMAL: 激活并显示窗口,如果窗口处于最大化或最小化的状态时,将其恢复到原始窗口状态
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: