[MSCE C++] 框选元素加入Element Agenda

bentley二次开发新人一枚。

继承DgnElementSetTool实现一个工具,想框选Text类型的元素,然后把这些元素全部插入到ElementAgenda中,进行后续操作。

目前点选元素是可以调用BuildLocateAgenda函数的,但框选元素则不会调用这个函数。 

想问各路大神,如何框选元素,把它们全部插入到ElementAgenda中。

在此提前感谢。

Parents Reply
  • 还有就是利用VS的全文件搜索功能到SDK的所有例子中去搜索_FilterAgendaEntries就能找到如下一个现成的例子:

    bool    CheckShapeTool::_FilterAgendaEntries()
        {
        bool        changed = false;
    
        EditElementHandleP curr = GetElementAgenda ().GetFirstP ();
        EditElementHandleP end  = curr + GetElementAgenda ().GetCount ();
    
        for (; curr < end ; curr++)
            {
            if (_OnFilterElement (*curr, NULL))
                {
                curr->Invalidate ();
                changed = true;
                }
            }
    
        return changed;
        }



Children
No Data