Go homepage(回首页) Upload pictures (上传图片) Write articles (发文字帖)
The author:(作者)aaapublished in(发表于) 2014/7/19 0:13:30 delphi设置映射模式
设置映射模式读者可能已注意到,每个映射模式都使用不同的逻辑单位。因为在有些情况下,由于某种原因,使用不同的映射模式可能更方便。例如如果要显示一条2 英寸宽的线,而不管输出设备的分辨率。这时,最好使用MM_LOENGLISH 映射模式。假如要在窗体上画一个1 英寸的正方形。首先把Form1.Canvas.Handle 的映射模式设为MM_HIENGLISH 或MM_LOENGLISH,代码如下:SetMapMode(Canvas.Handle,MM_LOENGLISH);然后,用适当的度量单位画一个1 英寸的正方形。由于MM_LOENGLISH 使用1/100in,应传递值100。关于这一点,后面例子将有更详细的说明。Canvas.Rectangle(0,0,100,100);由于MM_TEXT 以像素作为其度量单位,因此,可以使用Win32 API 函数GetDeviceCaps()来获得把像素转换为英寸或毫米的信息,这样就可以执行预定的计算。然而要注意的是,应用程序永远也得不到屏幕显示的精确度量,这是因为Windows 无法精确获取屏幕的显示尺寸,它只能估算。另外,在某些显示器上,Windows 将通过扩大显示比例来提高文字的可读性。例如屏幕上为10 磅的字与纸上12~14 磅的字一样高。
赞