我想在画布上垂直地画一个单词,在它旁边水平画一个单词。我使用了一个像这样的老建议:
在maiForm的create事件中:
GetObject(MainForm.Font.Handle,SizeOf(TLogFont),@LogFont);
NewLogFont := LogFont;
NewLogFont.lfEscapement := 900;
NewFont := CreateFontIndirect(NewLogFont);
OldFont := MainForm.Font.Handle;
哪里
LogFont,NewLogFont : TLogFont;
NewFont,OldFont : HFont;
并在绘图例程中:
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。有什么需要帮忙的吗?
发布于 2018-10-22 01:50:25
这很简单!TFont具有执行此工作的属性方向!我使用的所有这些东西都是非常罕见的。
https://stackoverflow.com/questions/52916612
复制相似问题