procedure TForm1.PaintBox1Paint(Sender: TObject);var vRect : TRect; vFormat : Ttextformat; vStr : string;begin vStr := 'This is some text'; vRect := rect(10,10,50,130); vFormat := [tfCenter,tfVerticalCenter,tfWordBreak]; PaintBox1.Canvas.Rectangle(vRect); PaintBox1.Canvas.TextRect(vRect,vStr,vFormat);end;
我希望这样的事情
+--------+| || ||This is || some || text || || |+--------+
但我明白了
+--------+|This is || some || text || || || || |+--------+
tfBottom格式也是如此.水平文本格式(tfleft,tfRight,tfCenter)按预期工作,但垂直格式不工作.有谁能解释一下?
解决方法 我不太确定,但只有在设置了单行时才允许使用VerticalCenter. 这是因为Canvas依赖于本机windows功能.如果您使用windows DrawText功能,您将看到此限制. 如果你需要垂直中心,你必须自己做数学 总结以上是内存溢出为你收集整理的delphi – 为什么tfVerticalCenter和tfBottom在TCanvas.TextRect中没有按预期工作?全部内容,希望文章能够帮你解决delphi – 为什么tfVerticalCenter和tfBottom在TCanvas.TextRect中没有按预期工作?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)