delphi – 为什么tfVerticalCenter和tfBottom在TCanvas.TextRect
发布时间:2020-12-15 09:33:15 所属栏目:大数据 来源:网络整理
导读:请考虑以下代码: 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]; P
请考虑以下代码:
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功能,您将看到此限制. 如果你需要垂直中心,你必须自己做数学
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |