发新话题
打印

AcEdInputPointManager类

本主题被作者加入到个人文集中

AcEdInputPointManager类

AcEdInputPointManager类

[折叠]
输入点管理器对AutoCAD中每个激活的文件实例化一次,而且通过一个AcApDocument成员函数输出。
每个实例管理文件编辑工作任务的下列任务:

输入点过滤器和输入点监视器的注册和取消注册
输入环境反应器的注册和取消注册
使失效和重生效系统产生的光标图形,它是图形自定义光标图形的关键元素
在要求选择必须完成的输入事件中请求强制的实体选择。这用在光标追踪穿过当前的视口时追踪光标下的实体。
继承自

包含文件
acedinpt.h
成员
AcEdInputPointManager函数
AcEdInputPointManager::addInputContextReactor函数
virtual Acad::ErrorStatus
addInputContextReactor(
AcEdInputContextReactor* pReactor) = 0;
pReactor
输入一个要增加的输入环境反应器对象
此函数增加一个输入环境反应器。找出通过AutoCAD输入机制(窗口对话框除外)提示用户的内容。任何可以增加的反应器的数量,除了每个只能被增加一次的反应器,与输入点监视器相同。
增加相同的反应器两次(用地址进行比较)将返回 Acad::eDuplicateKey。否则,则返回Acad::eOk。
AcEdInputPointManager::addPointMonitor函数
virtual Acad::ErrorStatus
addPointMonitor(
AcEdInputPointMonitor* pMonitor) = 0;
pMonitor
输入要增加的输入点监视器
此函数增加一个点监视器至当前集合。每个监视器在每个输入点事件中只被调用一次。
增加相同的监视器两次(用地址进行比较)将返回Acad::eDuplicateKey。否则,则返回Acad::eOk。
AcEdInputPointManager::currentPointFilter函数

virtual AcEdInputPointFilter *

currentPointFilter() const = 0;

返回当前的点过滤器(如果有),否则返回NULL。

AcEdInputPointManager::disableSystemCursorGraphics函数

virtual Acad::ErrorStatus

disableSystemCursorGraphics() = 0;

使光标图形对关联的文件失效。与自定义的光标图形一起使用。这个函数与enableSystemCursorGraphics()成对地作用于一个内部的计数器上,因此系统可知道要禁止系统光标的多重应用程序。

如果成功返回Acad::eOk,如果光标因某种原因不能被禁止则返回Acad::eInvalidContext。

AcEdInputPointManager::enableSystemCursorGraphics函数

virtual Acad::ErrorStatus

enableSystemCursorGraphics() = 0;

使光标图形对关联的文件生效。与自定义的光标图形一起使用。这个函数与disableSystemCursorGraphics()成对地作用于一个内部的计数器上,因此系统可知道要禁止系统光标的多重应用程序。

如果成功返回Acad::eOk,如果失效计数已经为0则返回Acad::eInvalidContext。

AcEdInputPointManager::forcedPickCount函数

virtual int

forcedPickCount() const = 0;

如果强制选择为打开的调用者数量。

AcEdInputPointManager::mouseHasMoved函数

virtual int

mouseHasMoved() const = 0;

此函数提供一种方法让输入点监视器和过滤器检查鼠标移动并可尽快地从回调中返回,而无需做任何耗时的计算。

如果序列中没有任何数字化设备事件则返回1,否则返回0。

AcEdInputPointManager::registerPointFilter函数

virtual Acad::ErrorStatus

registerPointFilter(

AcEdInputPointFilter* pFilter) = 0;

pFilter
输入要注册的输入点过滤器对象


使用这个函数注册一个点过滤器。确认在完成时清空过滤器槽,因为在一个时间只能有一个过滤器被注册。

如果当前没有使用任何过滤器,则返回Acad::eOk;否则返回Acad::eIllegalReplacement。

AcEdInputPointManager::removeInputContextReactor函数

virtual Acad::ErrorStatus

removeInputContextReactor(

AcEdInputContextReactor* pReact) = 0;

pReact
输入要删除的输入环境反应器


用于从激活的集合中删除一个输入的环境反应器。

如果反应器在集合中,则返回Acad::eOk,否则返回Acad::eInvalidKey。

AcEdInputPointManager::removePointMonitor函数

virtual Acad::ErrorStatus

removePointMonitor(

AcEdInputPointMonitor* pMonitor) = 0;

pMonitor
输入要删除的输入点监视器


此函数用于从激活的集合中删除一个点监视器。

如果监视器在集合中,则返回Acad::eOk;否则返回Acad::eInvalidKey。

AcEdInputPointManager::revokePointFilter函数

virtual Acad::ErrorStatus

revokePointFilter() = 0;

此函数用于取消当前的点过滤器。最好不要取消另一个应用程序的过滤器;然而如果必须这样做,可使用currentPointFilter()取得当前的这个过滤器并将其放在台面。

如果有一个激活的点过滤器,则返回Acad::eOk;否则返回Acad::eNullObjectPointer。

AcEdInputPointManager::systemCursorDisableCount函数

virtual int

systemCursorDisableCount() const = 0;

返回禁止光标的调用者的数量。

AcEdInputPointManager::turnOffForcedPick函数

virtual Acad::ErrorStatus

turnOffForcedPick() = 0;

这个函数减少强制的选择计数器,如果计数器达到0则禁止强制的选择,这表示实体选择发生在通常的AutoCAD条件下,如当输入点正被请求和OSNAP模式被激活或正常的实体选择操作时。

强制的选择计数已经为0则返回Acad::eInvalidContext,否则返回Acad::eOk。

AcEdInputPointManager::turnOnForcedPick函数

virtual Acad::ErrorStatus

turnOnForcedPick() = 0;

此函数使AutoCAD输入事件机制在所有数据化设备事件中在当前选择靶框下进行选择,无论是否请求一个点或任何OSNAP模式当前被激活。如果一个点被请求且OSNAP模式被激活,对象捕捉靶框尺寸(系统变量:APERTURE)定义了选择框尺寸。否则将使用系统变量PICKBOX。在Acad:ointHistory枚举中,以下的枚举值与功能相关,正如它们相关的注解:eForcedPick, ePickMask, eDidNotPick, eUsedPickBox, eUsedOsnapBox。

在不处理的环境(bypassed context)中(如一个ads_grread()调用)不会发生强制的选择。

计数将被保持,因此如果多重应用程序要强制选择,它会发生直至所有的都完成。

返回Acad::eOk。

TOP

发新话题