我可能描述的不是太好,大体是这样的:使用vc创建一个基于对话框的应用程序,在窗口中拖上一个按钮控件。运行程序。改变屏幕的分辨率为800*600后,发现按钮控件大小发生了变化。请问如何实现无论怎么调整分辨率,按钮控件的大小都不会改变?

解决方案 »

  1.   

    Windows 控件好像是基于像素的。
    只有到了 .NET 才支持更多的单位的。
    所以一般都是不变的。
      

  2.   

    GetWindowRect获取的是窗口在屏幕坐标系下的大小,能说具体一点吗?
      

  3.   

    比如 在 MFC 下,建立一个按钮 宽度 为 100 。
    那么不管在哪个分辨率下,宽度都是100。
    但是,在同一显示器的不同分辨率下,看到的大小是不一致的。
      

  4.   

    处理 WM_DISPLAYCHANGE 消息。
      

  5.   

    bcb 好像很简单的就可以实现,哈哈
      

  6.   

    分辨率变化的时候,比如你固定10cm*10cm,计算出10cm为多少分辨率。然后再设置
      

  7.   

    我分别在800*600和1440*900的分辨率下使用GetWindowRect()获取按钮控件的大小都是(0,0,50,70),就是不知道为什么显示出来的大小不一样,
      

  8.   

    我分别在800*600和1440*900的分辨率下使用GetWindowRect()获取按钮控件的大小都是(0,0,50,70),就是不知道为什么显示出来的大小不一样,