如何绘制多行文字?
-
回答:
主要用到函数说明:
_DMxDrawX::DrawMText
绘制一个多行文字。详细说明如下:
参数 说明 DOUBLE dPosX
多行文字位置的X坐标
DOUBLE dPosY
多行文字位置的Y坐标
BSTR pszContents
多行文字的内容
DOUBLE dHeight
多行文字的高度
DOUBLE dWidth
多行文字的显示宽度
DOUBLE dRotation
多行文字的旋转角度
SHORT iAttachment
多行文字的对齐方式
可以取值
enum AttachmentPoint { kTopLeft = 1, kTopCenter = 2, kTopRight = 3, kMiddleLeft = 4, kMiddleCenter = 5, kMiddleRight = 6, kBottomLeft = 7, kBottomCenter = 8, kBottomRight = 9,
_DMxDrawX::AddTextStyle2
向数据库中增加一个TrueType文字样式。详细说明如下:
参数 说明 BSTR pszName
文字样式名称
BSTR pszTrueTypeFontName
TrueType字体名
DOUBLE dXScale
文字宽度缩放比例
C#中实现代码说明:
private void DrawMText() { //清空当前显示内容 axMxDrawX1.NewFile(); //把颜色改回黑白色 axMxDrawX1.DrawCADColor = 0; //绘制多行文字 //参数一为多行文字位置的X坐标 ;参数二为多行文字位置的Y坐标 ;参数三为多行文字的内容 //参数四为多行文字的高度 ;参数五为多行文字的显示宽度 //参数六为多行文字的旋转角度 //参数七为多行文字的对齐方式 axMxDrawX1.DrawCADColor = 255; axMxDrawX1.DrawMText(100, 100, "cad绘图\\P梦想软件", 15, 500, 0.0, 7); axMxDrawX1.DrawCADColor = 16711680; axMxDrawX1.DrawMText(0, 0, "\\A2;平方方法 :m{\\H0.3x;\\S 2^;}", 15, 100, 0.0, 7); //按指定样式绘制文字 axMxDrawX1.AddTextStyle1("MyTextStyle", "italicc.shx", "gbcbig.shx", 0.7); axMxDrawX1.TextStyle = "MyTextStyle"; axMxDrawX1.DrawCADColor = 65280; axMxDrawX1.DrawMText(0, 50, "\\A2;平方方法 :m{\\H0.3x;\\S 2^;}", 15, 100, 0.0, 7); //-------------------------------------------------------------------------------------------------- //写一个TureType字体 axMxDrawX1.AddTextStyle2("MyTrueTypeStyle", "黑体", 0.7); axMxDrawX1.TextStyle = "MyTrueTypeStyle"; axMxDrawX1.DrawCADColor = 4556677; axMxDrawX1.DrawMText(0, 100, "\\A2;平方方法 :m{\\H0.3x;\\S 2^;}", 15, 100, 0.0, 7); axMxDrawX1.ZoomAll(); axMxDrawX1.UpdateDisplay(); }