理论基础:
1、DPI:每英寸像素数。英寸是物理单位;像素是逻辑单位,即控制面板中设置的屏幕分辨率。
2、Windows对话框程序有两种方式可以改变界面尺寸:(1)RC文件中定义对话框时设定的数值。单位是DLU,与对话框设定的字体大小成正比。(2)在WM_INITDIALOG消息中调用SetWindowPos函数。单位是像素。
3、Windows的字体单位是磅,1英寸等于72磅。
当DPI改变时,因为屏幕大小和屏幕分辨率不变,所以每磅所显示的像素数会改变,字体大小也会随之改变。因此,采用方式(1)所定义的界面不会出现文字截断或文字太小的问题,因为对话框大小会和字体大小同比例变化;而采用方式(2)所定义的界面就会出现这些问题,必须动态地改变字体的大小。