经过试验,如果设置窗口范围超过32675的话,
比如:
    ::SetWindowPos(GetSafeHwnd(), NULL,
        0, 0, 1234, 156789,
        SWP_NOACTIVATE | SWP_NOZORDER);
然后立刻GetWindowRect(),是得不到156789的高度的,大概在30000多,我猜想是窗口区域被限制在32675内了,我想突破这个限制,可有办法?

解决方案 »

  1.   

    当然有了,有一个窗口的内容超过了限制的大小,然后要通过SetWindowPos()来进行滚动,结果滚动150000多的,只滚动了30000多,就错了。
      

  2.   

    就算你做成了,你的程序的实现也是比较烂的那种,还是考虑像View那样去实现吧
      

  3.   

    一个窗口下有两个以上的子窗体,要滚动的话,我认为只能是MoveWindow来实现,如果其中一个子窗体的大小超过3万的限制,就很难处理了。而且通过MoveWindow来实现滚动是系统默认的动作(CWnd::ScrollWindow),很烂吗?那各位介绍其它很好的方法来听听如何?