使用Printer.Canvas怎么打印上下显示的一段文字?(20分)

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

jdelphi

Unregistered / Unconfirmed
GUEST, unregistred user!
通过直接在Printer.Canvas上写字打印.内容文字是横向的,表头的文字是纵向的.显示横向的可以使用TextOut比较方便的输出,纵向的怎么办?
如果一个字一个字的显示太麻烦了.
 
把画好字的那一块转180度不就行啦..笨方法..
 
是要把"DFW大富翁论坛"
显示成
D
F
W




 
用WinApi函数DrawText;
int DrawText(
HDC hDC, // 设备描述符句柄
LPCTSTR lpString, // 显示的字符串
int nCount, // 字符串长度
LPRECT lpRect, // 字符串显示的限制矩形
UINT uFormat // 文本显示格式
);试试下面的例子
procedure TForm1.Button1Click(Sender: TObject);
const
str='D F W 大 富 翁 论 坛';
var
r:TRect;
begin
r:=Rect(20,30,35,150);
DrawText(printer.Canvas.Handle,pchar(str),length(str),r,DT_WORDBREAK OR DT_CENTER);
end;
 
接受答案了.
 
后退
顶部