开发入门实例里,第5章,5.3选择集中 void CRXFilter1() { struct resbuf *rb; // 结果缓冲区链表215 crx_name ssname; rb = crxutBuildList(RTDXF0, _T("TEXT"), // 实体类型 8, "0,图层1", // 图层 1, _T("*caxa*"), // 包含的字符串 RTNONE); // 选择复合要求的文字 crxedSSGet(_T("X"), NULL, NULL, rb, ssname); long length; crxedSSLength(ssname, &length); crxutPrintf(_T("\n实体数:%d"), length); crxutRelRb(rb); crxedSSFree(ssname); }
这里为什么只要设置了图层就取不到数据
void CRXFilterSelect()
{
struct resbuf* rb; // 结果缓冲区链表215
crx_name ssname;
//RTDXF0, _T("MTEXT"), // 实体类型
//RTDXF0, _T("LINE"), // 实体类型
rb = crxutBuildList(
8, "0", // 图层
RTNONE);
// 选择文字
crxedSSGet(_T("X"), NULL, NULL, rb, ssname);
long length;
crxedSSLength(ssname, &length);
crxutPrintf(_T("\n实体数:%d"), length);
crxutRelRb(rb);
crxedSSFree(ssname);
}
我这样输出的实体数为0,”0“图层是有实体的
为什么呢?
void CRXFilterSelect()
{
struct resbuf* rb; // 结果缓冲区链表215
crx_name ssname;
//RTDXF0, _T("MTEXT"), // 实体类型
//RTDXF0, _T("LINE"), // 实体类型
rb = crxutBuildList(
RTDXF0, _T("LINE"), // 实体类型
RTNONE);
// 选择文字
crxedSSGet(_T("X"), NULL, NULL, rb, ssname);
long length;
crxedSSLength(ssname, &length);
crxutPrintf(_T("\n实体数:%d"), length);
crxutRelRb(rb);
crxedSSFree(ssname);
}
这样写可以取到
|