CAcadTextStyle t=m_AcadDoc.get_ActiveTextStyle();
t.SetFont(_T("宋体"),false,false,0,0);//这里设置的字体样式是默认的样式"Standard"
t.put_Width(0.8);//设置宽度因子
CAcadTextStyles t2=t; //我怀疑是这一步不对,这只是自己试出来的,希望可以赋值具体的文字样式类型进去
t2=m_AcadDoc.get_TextStyles();
t2.Add(_T("新建样式"));
t.SetFont(_T("宋体"),false,false,0,0);//这里的VS调试时新建样式成功,但是在运行exe时出现中断
t.put_Width(0.7);//设置宽度因子
MessageBox(_T("新的文字样式生成完成!^_^"));
若是中断则会停在oledisp2.cpp中的如下这个位置:
SCODE sc = m_lpDispatch->Invoke(dwDispID, IID_NULL, 0, wFlags,
&dispparams, pvarResult, &excepInfo, &nArgErr);
此时CAD中打开文字样式可以看到此时只是新建了一个空的样式(只有样式名是指定的,应用按钮没有变灰,空有一个样式名而已),在文字text对象实际使用该样式时,该样式字体名会随机给一个
在VS调试时新建样式成功时是这样的():
请问有没有了解这方面的大佬,我这里应该怎么改啊?怎样修改才能使VS Debug下以及exe运行时可以新建成功?万分感谢!
如果是时好时坏,那么我建议你加上点延迟看看