公司要我考虑一个问题,并拿出一个方案来,可本人实在愚笨,还没有想出什么好的高招来,我想听听大家的意见。谢谢大家了。
  主要问题如下:
  举个例子,先说在Window下,经常不是有这种情况吗?分辨率不同,会造成用户界面很难开,比如如果在1024*768上开发的程序,如果不做适当的处理,到800*600上会很难看的,我现在需要解决的正是这个问题。
  如果把这个问题展开,如果我现在用一块很小的液晶LCD来显示,那么它的分辨率肯定会很低,那么如何来进行调整用户的界面呢,也就是说如何控制控件的大小,在较小的显示屏上显示出来呢?当然并不是说等比例缩小就能解决的,那样可能会效果很差,比如字很小很小,所以必须保证界面人性化,也就是说可以使用有scrollbar的窗口,来显示在界面上显示不出来的东东。
  在下感激不尽,呵呵。谢谢指教了。

解决方案 »

  1.   

    是不是坐标映射模式的问题!
    Windows提供了以下几种映射模式:
    MM_TEXT
    MM_LOENGLISH
    MM_HIENGLISH
    MM_LOMETRIC
    MM_HIMETRIC
    MM_TWIPS
    MM_ISOTROPIC
    MM_ANISOTROPIC
      

  2.   

    你可以做带滚动条的对话框或者其他界面,在滚动条的消息处理中ScrollWindow即可
      

  3.   

    这个问题问的有水平,好像就是用自动调整控件位置的方法来适应分辨率的改变,效果也不是很好,
    我要是遇到这个问题,很野蛮的,我在程序开始时就强制改用户的屏幕分辨率,程序推出时将其恢复,就想很多游戏那样,当然这样不能满足你的要求,呵呵,也许 bluebohe(薄荷) 的方法可行,但我很讨厌滚动条
      

  4.   

    hey man, I think the most effective way is, when you develop the application, you use a lower resolution, such as 640*480 or 800*60, then if the application runs in 1280*1024 or 1024*768, all will be in normal style.
      

  5.   

    先根据初始分辨率确定窗口。处理分辨率改变:WM_DISPLAYCHANGE 
    cBitsPerPixel = wParam; 
    cxScreen = LOWORD(lParam); 
    cyScreen = HIWORD(lParam);