//from
http://personal.nxcity.com/brucez/forum/showtopic.asp?TOPIC_ID=184&Forum_ID=2关于字号 在 Windows 程序设计中,坐标的单位有很多种。 一种是我们最为熟悉的像素(Pixel),像素代表的是物理的坐标,比如我们常说的 640x480、800x600 指的就是像素。 另外比较重要的就是磅(Point)了,它是一种逻辑坐标,原是打印单位,约为 1/72 英寸,在 Windows中被确定的定义为 1/72 英寸。 还有一种比较重要的是缇(Twips),VB 缺省情况下就是使用缇作为它的单位的,20 缇等于 1 磅,所以 1 缇就是 1/1440 英寸。 另外还有几种单位,代表厘米、毫米之类的逻辑单位,我在这里就不说了。 因为 Windows 其实不知道我们的显示器的大小,所以是通过我们的设置来标示英寸的大小的。好的,我们再来看一下 Windows 中关于字号的设置。 在显示属性对话框里可以设置字体的大小,不过只有两种设置,一种是小字体,另一种是大字体。其中小字体表示 96dpi,而大字体表示 120dpi。小字体是缺省选项,而大字体是在用户所选的屏幕分辨率太大(如 1600x1200)时,为了避免字体太小看不清楚而选择使用的。另外,用户也可以自己设置字体的分辨率,不过值就不一定是多少了。 我们常说的“宋体,9”,表示的单位其实是磅,也就是 9 磅的宋体。 我们来换算一下。在小字体的时候,分辨率是 96dpi,也就是说一英寸能显示 96 个像素;9 磅是 1/8 英寸,所以 96/8=12 像素。也就是说,我们通常见到的字体就是这种 12x12 点阵的字体了。 另外,在大字体的时候,分辨率是 120dpi,9 磅是 1/8 英寸,所以 120/8=15 ,就是说大字体时,显示的 9 磅字体其实是 15x15 点阵的字体。 在 VB、VC 或 Delphi 里,对于窗体设置字体后,窗体的大小会自动随用户所选择的是大字体还是小字体而自动调整窗体的大小,这一点就是因为它们使用了逻辑单位。缺省情况下,对于 VB 来说是缇,对于 VC 和 Delphi 来说是磅。