请教各位大神~!对话框中子窗口的全屏和还原问题~~~~

ShiningPig 发布于 2013/08/19 09:24
阅读 272
收藏 0
用MFC向导建立的对话框,在对话框中增加了picture control控件,
然后再定义了一个类
class C2DPushGraph : public CWnd {...}
在对话框中定义了该类的对象
C2DPushGraph m_PushGraph;
并用SubclassDlgIte函数将picture control控件和m_PushGraph联系起来。刚刚查了一下,貌似就是创建了一个 派生类控件的意思。

然后在对象m_PushGraph的cpp中增加了ON_WM_LBUTTONDBLCLK()的消息映射,在相应的消息函数OnLButtonDblClk(UINT nFlags, CPoint point)中进行全屏和还原的处理。处理代码如下:
C/C++ code
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
void C2DPushGraph::OnLButtonDblClk(UINT nFlags, CPoint point)
{
    // TODO: 在此添加控件通知处理程序代码
    CRect    rect_full;
    if(nFull == FALSE)   // nFull = FALSE; 当前不是全屏
    {                        
        SetParent(GetDesktopWindow());
        GetDesktopWindow()->GetWindowRect(rect_full);
        MoveWindow(rect_full,TRUE);
        Invalidate(TRUE);   
        nFull = TRUE; 
    }
    else               // nFull = TRUE; 当前是全屏
    {
        SetParent(pParent_graph); // 将父窗口设置为对话框
        MoveWindow(rect_graph,TRUE); // 覆盖picture control的位置
        Invalidate(TRUE);
        nFull = FALSE;
    }
}

问题:发现双击全屏是可以的,但是再双击恢复原来的大小后,变成了有边框的窗口,并且可拉伸改变窗口的大小…………
我的本意只是将其恢复为原来的样子,就像嵌在对话框中一样,是不能拖动和拉伸边缘来改变大小的。
所以请教各位大侠,应该怎样能达到我的效果?
小女子先行谢过!
加载中
返回顶部
顶部