“MFC windows程序设计”中:
SetWindowExt设定“窗口范围” SetViewportExt设定“视口范围”,
有什么区别啊?请指教

解决方案 »

  1.   

    窗口范围是指你的屏幕的大小范围,而视口范围就是指你的视图的客户区,简单的说,当你的视图最大化时,二者区别就是窗口范围 = 视口范围 + 菜单 + 工具条 + 状态兰等所占的范围,所得不全,《深入浅出MFC》(侯捷著)上有非常详细地讲解。
      

  2.   


        窗口和视口只是从不同角度来观察“Windows窗口”。
        对屏幕上的那一块我们称之为“窗口”的区域,它的原点在何处?x,y 方向怎样?尺寸如何度量?
       显然,如果我们不给出标准,仅仅抽象地提出问题,100个人就有100个答案。
       Windows给出了两个标准,一个是以显示图形的物理设备的尺寸(注意显示器的物理尺寸是像素)来度量的标准,这时我们就把这个“区域”称之为“视口”。
      另一个标准是以程序员心目中的逻辑尺寸 (如你认为屏幕上的的两个像素就代表1米或10米) 来度量这个“区域”,这时这个“区域”就称之为“窗口”。
      总之,只要理解了“窗口”和“视口”实际上同一个东西而从不同角度来观察的,就很容易理解Windows是怎样进行“窗口”与“视口”的映射了。