老师好,问题如下:
我拟在一个命令中实现先选择一个元素,然后选点的操作。
实现:Class A派生自DgnElementSetTool, Class B派生自DgnPrimitiveTool;
A.InstallTool,A.OnDataButton函数中(1、接受选择,2、A.ExitTool, 3、启动B.InstallTool() )
发现可以进入B.OnPostInstall(), 但就直接退出了,不能选择点。求指导。
OnDataButton函数是鼠标在视图中点击左键时被调用的,在基类DgnElementSetTool的OnDataButton实现中会调用LocateOneElement去定位元素并添加到ElementAgenda中,如果您重写了OnDataButton函数,在重写的OnDataButton函数中如果没有调用LocateOneElement后者调用基类DgnElementSetTool的OnDataButton函数,那ElementAgenda中肯定没有元素了
您好,我重写以后,在OnDataButton中调用,还是为0,是不是我的调用方式有问题,我刚刚接触DgnElementSetTool
您重写一些该函数:
protected override void LocateOneElement(DgnButtonEvent ev, bool newSearch) { base.LocateOneElement(ev, newSearch); }
需要重写LocateOneElement方法吗?我这边显示找不到元素
直接 B.InstallTool() ,就可以实现关闭A 打开 B;
或在B.OnCleanup(),进行判断 是否调用 DetachFromMicroStation()