我做的一个MFC的界面。里面有用静态框控件画图的
有我自己用CDC画的多个框框,里面也是自己涂上的颜色,
里面放了一些按钮和文本框之类的控件。
这样做主要是为了显示成一块一块地好看。
但是当我把Windows桌面的分辨率改小后界面显示就会出问题。
显示出了一些多余的线条和块之类,请问谁知道这个问题怎么解决吗?
由于我这个问题比较急,所以自己也没有太多的时间试来试去的。
请知道的人多多关照一下。谢谢!!

解决方案 »

  1.   

    我在1024*768的分辨率下编的程序,如果改成分辨率比这个大的话无所谓。只是界面整体变小了
    但如果改成比这个小的话就会有问题了如改成800*600就有问题
    我的界面不能够完全显示在屏幕上,而会出现一个竖的滚动条和一个横的滚动条。在拖动滚动条的时候
    Windows的控件会随着滚动上下左右正常地移动。但是我自己画的线条和描的颜色就不行了
    它会按照当前可见的部分取相对位置不动。比如说我刚打开软件时是在显示器的正中间位置画了一条线。线的下面有个按钮
    在我拖动滚动条后刷新,那个按钮的位置会随着拖动而移动到显示的上面部分
    而那条线却仍然还是显示在显示器的中间位置大家有什么帮我解决这个问题的好办法啊
      

  2.   

    滚动的时候看一下当前View的左上角坐标,你画图也要根据这个坐标做调整的。
    就是说虽然滚动了了View,但是如果没改变映射关系,你在(0,0)画点,它还是在可见的左上角。
      

  3.   

    GetScrollPosition可以拿到当前offset,SetViewPortOrg可以设置画图坐标的映射
      

  4.   

    感谢楼上的给我指点,我用了GetScrollPosition可以得到当前可视部分左上角相对于
    整个视图的位置。但我还有个问题,拖动后要对其进行刷新一次,要在哪里做啊。或者怎么做
    因为不刷新就会有一些多余的线条和文字。
      

  5.   

    好了我也知道了 在OnHScroll 和OnVScroll函数里刷新就行了