几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量  


返回   几何尺寸与公差论坛------致力于产品几何量公差标准GD&T (GDT:ASME)|New GPS(ISO)研究/CAD设计/CAM加工/CMM测量 » 仿射空间:CAX软件开发(三)二次开发与程序设计 » CAD二次开发 » AutoCAD二次开发 » ObjectARX(C++)
用户名
密码
注册 帮助 会员 日历 银行 搜索 今日新帖 标记论坛为已读


回复
 
主题工具 搜索本主题 显示模式
旧 2009-04-18, 08:16 PM   #1
yang686526
高级会员
 
注册日期: 06-11
帖子: 14579
精华: 1
现金: 224494 标准币
资产: 234494 标准币
yang686526 向着好的方向发展
默认 【转帖】请教个关于textstyle的问题

请教个关于textstyle的问题
请教个关于textstyle的问题
这段时间在学arx,但是现在遇到个问题,无从解决。
ptextstylerecord->setname("songti");
ptextstylerecord->setfont("宋体",adesk::kfalse,adesk::kfalse,936,fixed_pitch);
ptextstylerecord->settextsize(50.00);
我用这段代码生成了一个文字样式,但是当我输入文本调用这个样式的时候
db->setcontents("这是宋体");
db->settextstyle(idtextstyle);
//这个id是那个新生成样式返回的(贴主要代码,其他略)。
这个时候出现了一个问题:我发现文字(“这是宋体”)的字体已经变为宋体,而文字大小却没有变化,还是默认的2.5,并且文字样式里边包括"songti"这个样式,并且这段文字的样式也是"songti"。
并且当我编辑这段文字的时候,在文字编辑器里边,把这段文字的style变为默认的standard,然后再变为songti这个样式的时候,字体大小发生了变化。
现在百思不得其解,不知道各位遇到过这种情况么
ps:我的系统平台xp pro+cad2+objectarx2+vc6.0。
请下载张帆所著《objectarx开发实例教程》
本帖最后由 udbird 于 9-2-13 08:54 am 编辑
//创建文字样式
void zffchap4addstyle()
{
// 获得字体样式表
acdbtextstyletable *ptextstyletbl;
acdbhostapplicationservices()->workingdatabase()
->gettextstyletable(ptextstyletbl, acdb::kforwrite);
// 创建新的字体样式表记录
acdbtextstyletablerecord *ptextstyletblrcd;
ptextstyletblrcd = new acdbtextstyletablerecord();
// 设置字体样式表记录的名称
ptextstyletblrcd->setname("仿宋体");
// 设置字体文件名称
ptextstyletblrcd->setfilename("simfang.ttf");
// 设置高宽比例
ptextstyletblrcd->setxscale(0.7);
// 将新的记录添加到字体样式表
ptextstyletbl->add(ptextstyletblrcd);
ptextstyletblrcd->close();
ptextstyletbl->close();
}
acdbobjectid ccreateent::createmtext(const acgepoint3d& ptinsert,
const char* text, acdbobjectid style,
double height, double width)
{
acdbmtext *pmtext = new acdbmtext();

// 设置多行文字的特性
pmtext->settextstyle(style);
pmtext->setcontents(text);
pmtext->setlocation(ptinsert);
pmtext->settextheight(height);
pmtext->setwidth(width);
pmtext->setattachment(acdbmtext::kbottomleft);
return ccreateentosttomodelspace(pmtext);
}
这两段代码是书中讲到创建多行文字和文字样式的sample,但是里边设置文字大小是在创建多行文字的时候设置的:
pmtext->settextheight(height);
我的意思是在创建文字样式的时候就设置文字大小,这样不用每次输入多行文字都来设置文字大小了,只需设置文字样式就可以了:
ptextstylerecord->settextsize(50.00);
但是我不管我在创建文字样式的时候怎么设置都不起作用,创建文字的时候,文字大小依然是系统默认的文字大小
哪位老大知道怎么回事的说以下了,快愁死小弟了
yang686526离线中   回复时引用此帖
GDT自动化论坛(仅游客可见)
回复


主题工具 搜索本主题
搜索本主题:

高级搜索
显示模式

发帖规则
不可以发表新主题
不可以回复主题
不可以上传附件
不可以编辑您的帖子

vB 代码开启
[IMG]代码开启
HTML代码关闭



所有的时间均为北京时间。 现在的时间是 05:01 AM.


于2004年创办,几何尺寸与公差论坛"致力于产品几何量公差标准GD&T | GPS研究/CAD设计/CAM加工/CMM测量"。免责声明:论坛严禁发布色情反动言论及有关违反国家法律法规内容!情节严重者提供其IP,并配合相关部门进行严厉查处,若內容有涉及侵权,请立即联系我们QQ:44671734。注:此论坛须管理员验证方可发帖。
沪ICP备06057009号-2
更多