就是想让最大化按钮不起作用,窗口也无法改变大小,网上搜了一下,都说是把WS_MAXIMIZEBOX去掉就好了,我添加了以后,代码如下。
CreateWindowEx(NULL,WINDOW_CLASS_NAME,"123",WS_OVERLAPPEDWINDOW~WS_MAXIMIZEBOX,0,0,800,600,NULL,NULL,hinstance,NULL)运行之后,整个窗口都没响应了,点上去当当的响,关闭都得从任务管理器里关,求解是为何?

解决方案 »

  1.   

    加上&这个符号:
    WS_OVERLAPPEDWINDOW&~WS_MAXIMIZEBOX
      

  2.   

    不好意思,上面的代码是我打错了我加的有&
      

  3.   

    用CreateWindowEx和CreateWindow创建窗口的扩展风格不一样,具体可以查一下这两个函数的dwStyle参数分别所代表哪些风格,CreateWindowEx下是WS_EX_OVERLAPPEDWINDOW,而CreateWindow下是WS_OVERLAPPEDWINDOW
      

  4.   

    为什么还要用SDK来创建窗口呢?
      

  5.   

    不知道这算什么意思 WS_OVERLAPPEDWINDOW~WS_MAXIMIZEBOX
      

  6.   

    WS_OVERLAPPEDWINDOW 包含
    (WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU | WS_THICKFRAME | WS_MINIMIZEBOX | WS_MAXIMIZEBOX)只需(WS_OVERLAPPED | WS_CAPTION | WS_SYSMENU)就可以了
      

  7.   

    这个没有关闭的按钮吗?如果去掉maxmin!
      

  8.   

    普通创建之后  重置风格试试DWORD dwWindowStyle = ::GetWindowLong(hMWnd, GWL_STYLE);
    ::SetWindowLong(hMWnd, GWL_STYLE, dwWindowStyle & ~WS_MAXIMIZEBOX);