代码里面禁用了用户改变窗口大小,还希望做到屏蔽窗口化按钮,始终保持窗口最大化,但是一旦我加了
cs.style&=~WS_MAXIMIZEBOX这句话,确实有作用,还原窗口的按钮变灰了,但是问题是整个程序就铺满了屏幕,甚至把windows任务栏也遮住了,有没有办法不要遮住任务栏?多谢!BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
{
if( !CFrameWnd::PreCreateWindow(cs) )
return FALSE;cs.style&=~WS_THICKFRAME;//禁止用户改变窗口大小
cs.style&=~WS_MAXIMIZEBOX;  return TRUE;
}

解决方案 »

  1.   

    CMainFrame::OnCreate函数中MoveWindows就好了
    RECT rc;
    SystemParametersInfo(SPI_GETWORKAREA, 0, &rc, 0);
    MoveWindow(rc.left, rc.top, rc.right - rc.left, rc.bottom - rc.top);
      

  2.   


    正解,取出桌面工作区域就不会错了.
    sign-----------------------------------------------------------------------

      

  3.   


    你好,我加了这段,但是还是一样的效果,还是会遮住任务栏。我试了屏蔽这句话cs.style&=~WS_MAXIMIZEBOX;确实是可以了,不会遮着,但是恢复窗口按钮就又显示出来了
    我想要的效果是,既能屏蔽恢复窗口按钮,又不要遮住任务栏,请看一下还有没有办法,多谢!
      

  4.   

    你好,不行,还是会遮住任务栏,我是win7,这个有关系吗?