如何将textout中的x和y的单位设置为0.1毫米? (20分)

  • 主题发起人 主题发起人 jshyh
  • 开始时间 开始时间
J

jshyh

Unregistered / Unconfirmed
GUEST, unregistred user!
如何将下面程序中textout的x和y的单位设置为0.1毫米,我记得MM_LOMETRIC的单位就是0.1毫米?
为什么打印出来不对?
setmapmode(printer.Handle ,MM_LOMETRIC);
with printerdo
begin
begin
Doc;
canvas.Font.Name :='黑体';
Canvas.Font.Size :=30;
Canvas.TextOut(200,200,'证 明');
EndDoc;
end;
我在VC中用得很好,请各位delphi高手指教。
 
Canvas本來就是針對屏幕的,最小單位隻有象素級別了
 
Canvas.textout(x,y,stirng)中的X,Y指的是像素,只有自己把它变成毫米:
px:=GETDEVICECAPS(PRINTER.CANVAS.HANDLE,LOGPIXELSX);
py:=GETDEVICECAPS(PRINTER.CANVAS.HANDLE,LOGPIXELSY);
px:=round(px/25.4);
py:=round(py/25.4);
printer.canvas.textout(5*px,5*py,'abcddflkdj');
这段代码就是在(5,5)毫米处打印!!!
 
接受答案了.
 
后退
顶部