以这样的方式打印,怎么设置字间距?(50分)

  • 主题发起人 主题发起人 wlyft
  • 开始时间 开始时间
W

wlyft

Unregistered / Unconfirmed
GUEST, unregistred user!
with Printer.Canvasdo
begin
GetObject(Font.Handle,SizeOf(LogFont),Addr(LogFont));
LogFont.lfHeight :=strtoint(form2.edit141.Text);// 50;
LogFont.lfWidth :=strtoint(form2.edit142.Text);//16;
logfont.lfFaceName := '宋体';

hNewFont:=CreateFontIndirect(LogFont);
hOldFont := SelectObject(Handle,hNewFont);
Textout(XPos,YPos-strtoint(form2.edit143.Text),Str);
hNewFont := SelectObject(Handle,hOldFont);
DeleteObject(hNewFont);
end;
以这样的方式打印,怎么设置字间距?
 
在 begin
后面加入这一句
SetTextCharacterExtra(Handle,10);
//这里的10就是设置字间距
在窗体上测试成功,打印机上没条件测试。
 
谢谢,成了
现共享一下,以便以后有人要
以后有人要打机票字体或拉长字体代码如下
with Printer.Canvasdo
begin
SetTextCharacterExtra(Handle,strtoint(trim(form2.edit144.text)));
GetObject(Font.Handle,SizeOf(LogFont),Addr(LogFont));
LogFont.lfHeight :=strtoint(form2.edit141.Text);// 50;
LogFont.lfWidth :=strtoint(form2.edit142.Text);//16;
logfont.lfFaceName := '宋体';
// ;
pchar(fontname);
hNewFont:=CreateFontIndirect(LogFont);
hOldFont := SelectObject(Handle,hNewFont);
Textout(XPos,YPos-strtoint(form2.edit143.Text),Str);
hNewFont := SelectObject(Handle,hOldFont);
DeleteObject(hNewFont);
end;
 
多人接受答案了。
 
我想问大家,我才注册进来的,怎么不可以提问啊
 
后退
顶部