在vs2010下
BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
{
if( !CFrameWndEx::PreCreateWindow(cs) )
return FALSE;
// TODO: 在此处通过修改
//  CREATESTRUCT cs 来修改窗口类或样式
cs.dwExStyle=cs.dwExStyle|WS_EX_TOPMOST;     // cs.style=WS_SYSMENU|WS_OVERLAPPED|WS_MINIMIZEBOX;//;  //设置窗口大小:400*340//  cs.cx=350;
//  cs.cy=550;  
cs.lpszName=L"扫雷";
  return TRUE;
}这里改窗口无效咯,网上看别人说在APP下的InitInstance()里添加一行代码,如下 m_pMainWnd->ShowWindow(SW_SHOW);

m_pMainWnd ->MoveWindow(200, 200, 400, 350, TRUE); //这是我添加的


m_pMainWnd->UpdateWindow();可是问题出来了,窗口有时会不出现,卡在进程里,而且我发现占用CPU怎么这么高,一个小窗口都是50%希望前辈指点指点

解决方案 »

  1.   

    修改窗口样式可以用GetWindowLong 和 SetWindowLong 函数
    修改窗口的大小可以用MoveWindow 和 SetWindowPos 等函数
      

  2.   

    If TRUE, CWnd receives aWM_PAINT message in its OnPaint message handler as usual. If this parameter is FALSE, no repainting of any kind occurs. m_pMainWnd ->MoveWindow(200, 200, 400, 350, TRUE); //这是我添加的
    m_pMainWnd->UpdateWindow();既然前面True了后面应该不用UpdateWindow吧,但我不确定你的问题是否出在这
      

  3.   

    InitInstance() 中窗口还没create,怎么可以去移动呢?
      

  4.   

    你在CMainFrame类的OnCreate()里面添加窗口移动代码试试。
      

  5.   

    直接在InitInstance处理就可以了
    修改Create的参数