怎样保留列表框本身自带的拖曳和放置功能并对放置事件进行处理?



硬件: PXI/CompactPCI>>Controllers

问题:
在我的程序中,我尝试对VI前面板上列表框控件进行放置操作并对其进行放置事件的处理, 在我运行程序的时候,发现拖曳和放置操作的结果和先前有所不同 为什么会出现这样的情况,怎样解决?


解答:
在一个VI中对一个列表框进行放置事件处理时,会忽略列表框控件本身原有的一些放置功能。 现在,在列表框中进行放置操作将导致程序执行位于事件结构中对应放置操作的那一段代码。

由于处理放置事件会覆盖掉原先列表框自带的功能,所以没有办法可以解决这个特殊的情况。但还有其他的一些方法来尝试和实现相同的功能。 举例来说,如果您将其他项目拖曳到列表框中,可以尝试对这些项目使用Drag Ended事件来触发事件, 这将允许您保留VI中列表框本身自带的拖曳和放置功能。

注意: 这个方法将导致任何拖曳操作都会触发事件。 如果放置发生在前面板的任何其他地方,事件依旧会产生。  一个解决的办法是,在拖曳结束事件结构里放置一个条件结构,并使用结果事件数据结点作为条件结构的选择端。  对于取消放置分支, 它代表了没有目标接受到数据。该分支应该留空。  下图展示了该方法:


相关链接: LabVIEW 8.5 Help - Get Drag Drop Data

附件:





报告日期: 04/16/2008
最近更新: 02/01/2009
文档编号: 4KFHQS20