例如:一个主界面,我用MoveWindow函数将它设置为固定大小。但是我运行后感觉界面不合适对其进行拖大拖小, 我想问的是: 当我对界面拖动的时候代码中应该怎么获取这个消息,然后获取到改变后的界面大小的各参数的值。怎样实现这个功能 求详细解释

解决方案 »

  1.   

    CRect rc;
    GetClientRect(&rc);rc.height()就是y;
    rc.width()就是x;
      

  2.   

    窗口大小改变后, 会得到  WM_SIZE 消息消息的参数传入了当前窗口的 新的尺寸.
    也可以 GetWindowRect / GetClientRect 取得你想要的.
      

  3.   

    正在拖动时会响应WM_SIZING,拖完后会有WM_SIZE,跟移动窗口类似,正在移动会响应WM_MOVING,移动完后WM_MOVE
      

  4.   

    WM_SIZE的消息
    对应的
    OnSize函数
      

  5.   

    谢了,但是又发现个小问题,我建立个基于对话框的MFC工程,执行的时候对话框不能改变大小,应该怎么设置可以改变大小?
      

  6.   

    看看 资源文件 (rc) 中对话框风格中ModalFrame 风格的不可改变大小, 改成 thick frame 样式就行了.
      

  7.   

    对话框属性Boder选Resizing,也可以用代码来修改,具体自己去查资料
      

  8.   

    我用的VC6.0,找不见哪里有ModalFrame啊。详细点啊,非常感谢
      

  9.   


    IDD_DLG_SDECONNECTION DIALOGEX 0, 0, 250, 161
    STYLE DS_SETFONT | DS_MODALFRAME | DS_FIXEDSYS | WS_POPUP | WS_CAPTION | WS_SYSMENU
    CAPTION "Dialog"
    FONT 8, "MS Shell Dlg", 400, 0, 0x1DS_MODALFRAMEWS_THICKFRAME