1、查找
查找工程图中的注释文本主要涉及到注释的遍历函数ProDrawingDtlNoteVisit,通过动作函数将遍历到的注释存入向量容器中,再通过循环获取注释的文本,与需要查找的注释文本进行比较,相等即可找到,并且将该注释所在的工程图名称显示在列表框中,运行结果如图所示:
代码如下:
//动作函数
ProError UserNoteVisitAct(ProDtlitem *note,ProError status,ProAppData data)
{
vector<ProDtlitem>* p_note=(vector<ProDtlitem>*)data;
p_note->push_back(*note);
return PRO_TK_NO_ERROR;
}
void CSearchAndReplace::OnBnClickedBtnSearchNext()
{
// TODO: 在此添加控件通知处理程序代码
//更新控件,获取用户输入的值
UpdateData(TRUE);
ProError status;
ProName name;
ProStringToWstring(name,"D:\\demo");
ProPath *file_list,*dir_list;
status=ProArrayAlloc(0,sizeof(ProPath),1,(ProArray*)&file_list);
status=ProArrayAlloc(0,sizeof(ProPath),1,(ProArray*)&dir_list);
//将路径下所有drw格式的文件存入file_list中
status=ProFilesList(name,L"*.drw",PRO_FILE_LIST_LATEST,&file_list,&dir_list);
if (PRO_TK_NO_ERROR!=status)
{
return;
}
int size=0;
//获取数组大小(即工程图的个数)
ProArraySizeGet((ProArray)file_list,&size);
//清空列表框
m_listBox.ResetContent();
int num=0;
ProMdl mdl;
ProName mdl_name;
//在工程图之间循环
for (int j=0;j<size;j++)
{