開發入門實例裏,第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);
}
這樣寫可以取到
|