首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何用Delphi 10.2在画布上垂直+水平地绘制文本

如何用Delphi 10.2在画布上垂直+水平地绘制文本
EN

Stack Overflow用户
提问于 2018-10-21 22:57:12
回答 1查看 2.1K关注 0票数 1

我想在画布上垂直地画一个单词,在它旁边水平画一个单词。我使用了一个像这样的老建议:

在maiForm的create事件中:

代码语言:javascript
复制
GetObject(MainForm.Font.Handle,SizeOf(TLogFont),@LogFont);
NewLogFont := LogFont;
NewLogFont.lfEscapement := 900;
NewFont := CreateFontIndirect(NewLogFont);
OldFont := MainForm.Font.Handle;

哪里

代码语言:javascript
复制
LogFont,NewLogFont  : TLogFont;
NewFont,OldFont     : HFont;

并在绘图例程中:

代码语言:javascript
复制
fontTemp := TFont.Create;
fontTemp.Assign(aCanvas.Font);
......
aCanvas.Font.Handle := newFont; // if i coment this line the two strings drawn verically else both drawn horizonatlly
aCanvas.Font.Size := 8;
h := textHeight('1');
aCanvas.textOut(x,y,aString);
aCanvas.Font.Assign(fontTemp);
aCanvas.textOut(x+20,y,bString);
.....
fontTemp.Free;

在我的旧应用程序(D2007)中,它工作得很好,但在Delphi10.2中,方向的更改(从vert到horiz)将两个字符串都更改为horiz。有什么需要帮忙的吗?

EN

回答 1

Stack Overflow用户

发布于 2018-10-22 01:50:25

这很简单!TFont具有执行此工作的属性方向!我使用的所有这些东西都是非常罕见的。

票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52916612

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档