[求助]如何屏蔽指定字体的对话框
在打开DWG文件时,经常会由于找不到字体而弹出一个选择字体的对话框,每次都要点取消才能真正打开图,能不能屏蔽这个对话框? 上次有许多人解答过这个问题,你可以去搜索一下。对于这个问题,我一直不赞成屏蔽对话框,因为它提示你是因为你没有这种字体,所以屏蔽的方法就是先预设一种字体为万能字体,以替代所有你字库中没有的字体,这样就不会出现对话框了;但这样带来的后果是:图形中可能出现问号,或是文件位置严重错位。你没有遇到这种情况吗?这时最好的解决方法就是找到原字体,或是用相近的字体代替。所以如果屏蔽了对话框,你连你少了哪种字体都不知道,怎么去网上找?字体错位的问题不是个小问题。 我提问题的时候一般都搜索了一下论坛,可是我水平有限,到现在都不知道用什么关键字才能搜索到我要的答案,能不能告知我用什么关键字搜索?谢谢!
我希望用户选择多个DWG文件,我的程序将它们合并成一个DWG文件,最初我的插入文件使用了InsertBlock:
block = autoCadApp.ActiveDocument.ModelSpace.InsertBlock(insertPoint,cadFileName,1,1,1,0);<BR>block.Explode();
此方法有两个问题:<BR>1.当插入的文件比较大(10M),内存占用达到几百M,运行时间也要十几分钟,感觉就像程序死了,而直接用CAD的命令插入文件则很快,内存占用也不大。<BR>2.在Explode时也会将MText炸开成Text,而且图层变成当前图层。
因此我现在使用SendCommand的方法插入文件:
string command = string.Format("-insert \"*{0}\"\n0 1 0 ",cadFileName);<BR> autoCadApp.ActiveDocument.SendCommand(command);
此方法也有两个问题:<BR>1.使用SendCommand时,CAD会自动取消隐藏状态,将CAD界面显示出来,用户可以操作CAD,可能导致我程序出现“RPC服务不可用”的错误。<BR>2.用此方法可能会弹出选择字体的对话框,需要人工干预才能继续,所以我想在插入文件前屏蔽选择字体对话框,插入完成后恢复选择字体。
不知道有没有更好的解决方案?
BTW:我用的是AutoCAD2002 修改ACAD.FMP文件就能达到楼主要求。 谢谢楼上的提供意见,我在网上搜索了一下ACAD.FMP文件的用法,就是建立了一个字体对照表,但是用户的字体可能是任何名称,建立对照表不可能包含得很全面。而且我这么小的一个软件还要到用户机器上去修改文件,如果用户重现安装CAD也可能会出错。
我只是想临时屏蔽选择文件对话框,不知道有没有更好的办法? 输入:fontalt
然后输入一种字体,找一般CAD自带的,就OK了。
但这只是一个命令。 谢谢<A name=41288><FONT color=#000066><B>WL_207</B></FONT></A>的提示。<BR>我用了 fontalt 命令,指定了“宋体”。<BR>使用“insert”命令,在对话框中选择文件插入,没有弹出选择字体的对话框。<BR>使用“-insert”方法,在命令行中指定插入的文件名,此时还是会弹出选择字体的提示。
我在CAD2000和2002下都试验过了,都是用对话框插入时不会弹出选择字体提示,用命令行模式都会弹出提示。
页:
[1]