读取dwg,Dxf,Jpg,Bmp,Dwf文件
static BOOL ReadDwg(MXDRAWOCXHANDLE hOcx, LPCTSTR pszDwgFilePath, bool isOnlyReadOpen = true, int rc = Mcad::kReadAll, LPCTSTR wszPassword = NULL, byte* pInData = NULL, long lInDataLength = 0, LPCTSTR pszWebPath = NULL, bool partial = false);
参数 |
说明 |
MXDRAWOCXHANDLE hOcx |
控件名柄 |
LPCTSTR pszDwgFilePath |
DWG文件绝对路径,也可以是DXF,JPG,BMP文件。 |
bool isOnlyReadOpen = true |
是否读方式打开 |
int rc = Mcad::kReadAll |
指定需要读取的内容,不需要读取的内容可以不读取,这样能提高读取dwg文件的速度,可以取如下值: enum ReadContent { kReadAll = 0xFFFFFFFF, kReadNull = 0x0, // 下面数据都不读取 kFastRead = 0x158, // kReadBlockLayoutName|kNamedObjectsDictionary|kReadLayoutDict|kReadImageDict kReadExData = 0x1, kReadHandle = 0x2, kReadBlockRefPreviewIcon = 0x4, kReadBlockLayoutName = 0x8, kNamedObjectsDictionary = 0x10, // 是否读对象字典,如果不读,字典下所有数据都不会读取. kReadGroupDict = 0x20, // 是否读取组字典 kReadLayoutDict = 0x40, kReadMlineStyleDict = 0x80, kReadImageDict = 0x100, kReadXrecord = 0x200, kReadDrawOrder = 0x400, kReadxData = 0x800, kReadExRecord = 0x1000, kReadExternalReference = 0x2000, kReadCustomEntity = 0x4000 // 是否读取自定义实体,如果该为项为真,则自动让kReadHandle值也为真,因为自定义实体需要名柄支持. }; |
LPCTSTR wszPassword = NULL |
文件密码 |
byte* pInData = NULL |
如果从内存打开文件,pInData指向内存数据。 |
long lInDataLength = 0 |
内存数据的长度。 |
LPCTSTR pszWebPath = NULL |
网页路径 |
bool partial = false |
是否局部 打开图纸 |
成功返回TRUE
该函最好在命令中调用,如查需要清空当前图面所有内容,把文件名传空调用 例如:
// 清空图面所有内容
MxDraw::ReadDwg(hOcx,_T(""));