Q
qylin1
Unregistered / Unconfirmed
GUEST, unregistred user!
我想要在 Canvas 上用 DrawText 来竖向显示文本,我的代码如下:<br><br>With Canvas Do<br>Begin<br> // 旋转 90 度显示 Caption<br> SaveFont := TFont.Create;<br> SaveFont.Assign(Font);<br> GetObject(SaveFont.Handle, sizeof(LogFont), @LogFont);<br> With LogFont do<br> Begin<br> lfEscapement := 900;<br> lfPitchAndFamily := FIXED_PITCH or FF_DONTCARE;<br> End;<br> Font.Handle := CreateFontIndirect(LogFont);<br> SetBkMode(Handle, TRANSPARENT);<br><br> Brush.Style := bsClear;<br> R := Rect(1, 1, Width - 1, Height -1) ;<br> DrawText(Handle, PChar(Caption), Length(Caption), R, DT_WORD_ELLIPSIS) ;<br><br> Font.Assign(SaveFont);<br> SaveFont.Free;<br>End ;<br><br>我试过用 TextRect 是可以实现的,但我运行上面代码时,Canvas 上是一片空白,什么也没显示,小弟不才,搞了一天也没办法搞定,因为我这里一定要用 DrawText,有请各位高手赐教赐教,谢谢!