1,如何用SDK来实现使窗口最大最小化的按钮失效,并且窗口不能拖动来改变大小;
2,怎么样才能获得鼠标在ClientRect的坐标.比如,ClientRect为一个矩形,左上角为(0,0)但是他相对于屏幕的坐标却不是(0,0),后来我用GetCursorPos()和ScreenToClint()好象也不是我想得到的值,各位,请提点一下.谢谢

解决方案 »

  1.   

    ShowWindow(hWnd, SW_SHOWMAXIMIZED|SW_SHOWMINIMIZED)
      

  2.   

    1. SetWindowLong(hWnd, GWL_STYLE, GetWindowLong(hWnd,GWL_STYLE) & ~WS_MAXIMIZEBOX  & ~WS_MINIMIZEBOX )
    );
    2.试一下 MapWindowPoints
      

  3.   

    1. SetWindowLong(hWnd, GWL_STYLE, GetWindowLong(hWnd,GWL_STYLE) & ~WS_MAXIMIZEBOX  & ~WS_MINIMIZEBOX )
    );
    2. 应该是相对于客户区的左上角的坐标,不是相对于是Windows桌面左上角的坐标!
      

  4.   

    楼上的第2点说的对,就是ClientRect左上角的坐标不是(0,0)却是该点位于桌面的的坐标,所以,小弟想做个相对坐标出来,却不知道该怎么做,请大虾们指点一下。GetCursorPos()和ScreenToClint()好象也不是我想得到的值。
      

  5.   

    SetWindowLong(hWnd, GWL_STYLE, GetWindowLong(hWnd,GWL_STYLE) & ~WS_MAXIMIZEBOX  & ~WS_MINIMIZEBOX )
    并不能防止拖动来改变窗口的大小。还有各位,我想把最大化和最小化的按扭变灰,就是无效状态,应该怎么做?
      

  6.   

    DWORD dwStyle = GetWindowLong(hWnd, GWL_STYLE);
    dwStyle &= ~(WS_MAXIMIZEBOX | WS_MINIMIZEBOX | WS_SIZEBOX);
    SetWindowLong(hWnd, GWL_STYLE, dwStyle);
      

  7.   

    SetWindowLong(hWnd, GWL_STYLE, GetWindowLong(hWnd,GWL_STYLE) & ~WS_MAXIMIZEBOX  & ~WS_MINIMIZEBOX )