MoveWindow()SetWindowPos()好像都只能够在OnCreate()中用修改视图的大小
如何在程序中根据所要现实内容的多少动态的修改视图大小

解决方案 »

  1.   

    你说的视图,是窗口中客户区的大小吧?
    如果你想根据内容的多少更改,你要计算字符的大小,来确定你需要的客户区的大小,然后MOVEWINDOW。
      

  2.   

    修改视图的大小实际上是修改FRAME的大小, 视图、工具栏、状态栏占据了整个FRAME的客户区。
    假设你希望将视图的大小改为:300X300CRect rc(0, 0, 300, 300);
    rc.bottom += 工具栏高度;
    rc.bottom += 状态栏高度;
    AdjustWindowRect(rc, AfxGetMainWnd()->GetStyle(), true);
    AfxGetMainWnd()->SetWindowPos(0, 0, 0, rc.Width(), rc.Height(), SWP_NOZORDER|SWP_NOMOVE);
      

  3.   

    我已经把Frame最大化了,而且不允许修改视图大小
    我只是要改变视图的大小
    应该和Frame没关系吧