返回介绍

绘制多行文字

发布于 2023-08-09 23:10:34 字数 3757 浏览 0 评论 0 收藏 0

在CAD设计时,需要绘制多行文字,用户可以设置设置绘制文字的高度等属性。

主要用到函数说明:

函数名:_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 pszTrueTypeFontNameTrueType字体名
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();
}

效果展示:

用户可以通过点击绘制多行文字按钮,将在C#中设置好的多行文本插入到CAD控件视区。如下图所示:

c#drawmtext.png

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文