请问我用单文档创建窗口时,想创建客户区域(不包括标题,边框等)固定大小的窗口,
例如,我想创建客户区域为800*400的大小,是在框架窗口中PreCreateWindow中指定cx,cy还是在视类CView中调用PreCreateWIndow呢?感觉在单文档中,只要框架窗口CManiframe创建,CView的大小就固定了,且似乎是个特殊的窗口,整个窗口都为客户区,但是在多文档中,需要制定CChildFrame的大小才行,,不知道我这样理解对不?一,请说明如何在单文档和多文档中设定固定客户区域大小的窗口(多文档中,可否创建大小不一的窗口?)二。在单文档中,指定CFrameWnd窗口的大小,会影响CView的大小吗(即,CView的大小已经确定,即为CFrameWnd的客户区域大小 ?若只设定CView的大小,由于CFrameWnd已经创建,此时对CView创建时用的大小是否已经无效?谢谢解释啊!!

解决方案 »

  1.   

    集成CSROLLVIEW那个类,可以出现滚动条,并且可以指定大小的
      

  2.   

    客户区如果想固定大小要先求出窗口的系统区域的大小,可以先GetWindowRect(),然后GetClientRect()求出两者之间的差,然后将你需要的800*400的客户区的大小加上系统区域的大小,再用这个值设定CFrameWnd窗口的大小。多文档中创建大小不一的窗口不好办,因为是同一个类的不同的实例化对象。除非你在创建过程中根据是第几个对象特别设定窗口的大小。