小弟最近在编一个小程序,遇到了一个问题,就是起先画的窗口大小是200,300
而在程序中希望把窗口大小弄成300,400,请问怎么解决好?还有就是窗口属性怎样才能弄成不能改变大小的,是不是某一个风格来决定的?谢谢

解决方案 »

  1.   

    CRect rect;
    //设置rect
    MoveWindow(&rect);
      

  2.   

    去掉WS_THICKFRAME风格
    ModifyStyle(WS_THICKFRAME, 0);移动窗口MoveWindow
      

  3.   

    MoveWindow可以用来移动窗口并确定窗口的大小的。
      

  4.   

    用这个方法可以调节窗口的大小,不过这个lpRect参数必须用下面这个结构tagRECT来传递。 
    BOOL GetWindowRect( LPRECT lpRect ) const;typedef struct tagRECT {
       LONG left;       //窗口左上角的X坐标
       LONG top;        //窗口左上角的Y坐标
       LONG right;      //窗口右下角的X坐标
       LONG bottom;     //窗口右下角的Y坐标
    } RECT如果要使一个窗口不能拉大拉小就要用到下面的函数:
    BOOL SetWindowPos(
      HWND hWnd,             // 窗口名柄
      HWND hWndInsertAfter,  // 当前窗口句柄或这几个参数
                             //(HWND_BOTTOM,HWND_NOTOPMOST,HWND_TOP,HWND_TOPMOST)
      int X,                 // 水平X轴
      int Y,                 // 水平Y轴
      int cx,                // 宽度
      int cy,                // 高度
      UINT uFlags            // 窗口类型
    );
    把uFlags以这个参数SWP_NOSIZE传递就行了,就不可以改变窗口的大小了。如果还不太明白就自己查msdn啦。帮你提供了这几个方法和函数你再去查应该方便很多了。
      

  5.   

    自已在create()中注册自已的类就可以了