+ -
当前位置:首页 → 问答吧 → 获取还原窗口的大小

获取还原窗口的大小

时间:2011-11-29

来源:互联网

窗口在点击最小化后,点击任务栏程序图标,还原窗口,此时我需要捕获还原后的窗口的大小
应该如何处理呢?
我在网上也搜了一些,下面的代码失败了
C/C++ code

void CTestFormDlg::OnSysCommand(UINT nID, LPARAM lParam)
{
    // TODO: 在此添加消息处理程序代码和/或调用默认值

    if(nID == SC_RESTORE)
    {
        HWND hWnd = ::GetActiveWindow();
        CRect re;
        BOOL bisOK = FALSE;
        bisOK = ::GetWindowRect(hWnd,&re);
    }
    CDialog::OnSysCommand(nID, lParam);
}

作者: jiratao   发布时间: 2011-11-29

试试GetWindowPlacement

作者: dream0411   发布时间: 2011-11-29

引用 1 楼 dream0411 的回复:
试试GetWindowPlacement

刚试了下·不行
获取到的结构体中,NormalPosition的数据是对的,就是普通大小,但是ptMinPosition和ptMaxPosition的数据不对,前者是x和y等于-32000,后者则是-1

作者: jiratao   发布时间: 2011-11-29

你不是要还原矩形么,就是NormalPosition,其他参数如果你也需要的话,看下msdn,
http://msdn.microsoft.com/zh-cn/site/ms633518
或http://www.kaifa6.com/v/mfcshouce/Class/CWnd_GetWindowPlacement.htm

作者: dream0411   发布时间: 2011-11-29

我查看了的,我要获得还原的矩形不是normal状态,我是在最大化的时候,点击最小化按钮使其最小化,然后再点击任务栏,让它还原到最大化的状态,这个时候我要去获取还原后的大小,但是函数只能获取到原始大小而不是最大化的

作者: jiratao   发布时间: 2011-11-29

热门下载

更多