Canvas输出汉字字符串,如何竖排显示?

kt65 2003-01-18 09:48:15
Canvas输出汉字字符串,如何竖排显示?
...全文
349 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
痞子酷 2003-01-22
  • 打赏
  • 举报
回复
hao!!!!!
halibut 2003-01-19
  • 打赏
  • 举报
回复
学习!
weibz0525 2003-01-19
  • 打赏
  • 举报
回复
修改了一下,这个代码应该没问题了,另外在每行末尾加一个'\n'不行吗?

void __fastcall TForm1::FormPaint(TObject *Sender)
{
TFont *pfont;
TLogFont lf;
Canvas->Font->Name = "Arial";
Canvas->Font->Size = 24;
Canvas->Font->Color = clRed;
pfont = new TFont;
pfont->Assign(Canvas->Font);
::GetObject(pfont->Handle,sizeof(lf),&lf);
lf.lfEscapement = 0 ;
lf.lfOrientation = 0;
lf.lfHeight = 25;
SetBkMode(Canvas->Handle,TRANSPARENT);
for(int i= 0;i< 9;i++)
{
pfont->Handle = ::CreateFontIndirect(&lf);
Canvas->Font->Assign(pfont);
Canvas->TextOut(Width/2,Height/2,"旋转征文字体");
lf.lfEscapement +=450;
lf.lfOrientation +=450;
}
}
kt65 2003-01-18
  • 打赏
  • 举报
回复
谢谢!
GeoPhoenix 2003-01-18
  • 打赏
  • 举报
回复
使用Windows API,下面是一个例子,你可参考一下
{
TFont *pfont;
TLogFont lf;
Canvas->Font->Name = "Arial";
Canvas->Font->Size = 24;
Canvas->Font->Color = clRed;
pfont = new TFont;
pfont->Assign(Canvas->Font);
::GetObject(pfont->Handle,sizeof(lf),&lf);
lf.lfEscapement = 0 ;
lf.lfOrientation = 0;
lf.lfHeight = 25;
SetNkMode(Canvas->Handle,TRANSPARENT);
for(int i= 0;i< 9;i++)
{
pfont->Handle = ::CreateFontIndirect(&lf);
Canvas->Font->Assign(pfont);
Canvs->TextOut(Width/2,Height/2,"旋转征文字体");
lf.lfEscapement +=450;
lf.lfOrientatio +=450;
}

将以上程序放到OnPaint事件里,编译以下,您就了解了

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧