用DrawText的DT_VCenter怎么实现竖排文字居中?(10分)

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

jdelphi

Unregistered / Unconfirmed
GUEST, unregistred user!
procedure TForm1.Button1Click(Sender: TObject);<br>var<br>&nbsp; ss:string;<br>&nbsp; re:trect;<br>begin<br>&nbsp; ss:='你好,欢迎光临';<br>&nbsp; re:=rect(5,5,20,500);<br>&nbsp; DrawText(Canvas.handle,pchar(ss),length(ss),re,dt_singleline or dt_vcenter);<br>end;<br>显示还是横的
 
dt_vcenter控制的是纵向居中,不是竖排
 
那么怎么实现使文字竖排并能够纵向居中呢?
 
procedure TForm1.Button1Click(Sender: TObject);<br>var<br>&nbsp; ss:string;<br>&nbsp; re:trect;<br>begin<br>&nbsp; ss:='你好,欢迎光临';<br>&nbsp; re:=rect(5,5,20,500);<br>&nbsp; DrawText(Canvas.handle,pchar(ss),length(ss),re,DT_WORDBREAK or DT_CENTER);<br>end;<br>
 
应该从字体的方向、角度方面去考虑
 
多人接受答案了。
 
后退
顶部