我在一个System.Drawing.Graphics物体上画文字.我正在使用该DrawString方法,使用文本字符串,a Font,a Brush,a bounding RectangleF和a StringFormat参数.
调查一下StringFormat,我发现我可以将它的Alignment属性设置为Near,Center或Far.但是我还没有找到将它设置为Justified的方法.我怎样才能做到这一点?
谢谢您的帮助!
没有内置的方法可以做到这一点。此线程中提到了一些解决方法:
http://social.msdn.microsoft.com/Forums/zh/winforms/thread/aebc7ac3-4732-4175-a95e-623fda65140e
他们建议使用重写RichTextBox,重写SelectionAlignment属性(请参阅本页了解如何操作)并将其设置为Justify。
覆盖的核心围绕着这个 pInvoke 调用:
PARAFORMAT fmt = new PARAFORMAT();
fmt.cbSize = Marshal.SizeOf(fmt);
fmt.dwMask = PFM_ALIGNMENT;
fmt.wAlignment = (short)value;
SendMessage(new HandleRef(this, Handle), // "this" is the RichTextBox
EM_SETPARAFORMAT,
SCF_SELECTION, ref fmt);
Run Code Online (Sandbox Code Playgroud)
不确定这可以如何集成到您现有的模型中(因为我假设您绘制的不仅仅是文本),但这可能是您唯一的选择。
| 归档时间: |
|
| 查看次数: |
4585 次 |
| 最近记录: |