iCAx开思网

标题: UISTYLER对话框选择对象问题 [打印本页]

作者: CUI821228    时间: 2010-7-5 17:15
标题: UISTYLER对话框选择对象问题
调出UISTYLER对话框的同时选取对象,执行完“应用”后仍然会累加(释放不了),怎么办,怎么样在执行完“应用”后可以重新选取对象,并且不会影响上一步选取的对象?
期待高手的回答,感激!
作者: mmgoal    时间: 2010-7-6 16:09
CUI821228 发表于 2010-7-5 17:15
调出UISTYLER对话框的同时选取对象,执行完“应用”后仍然会累加(释放不了),怎么办,怎么样在执行完“应用”后可以重新选取对象,并且不会影响上一步选取的对象?
期待高手的回答,感激!


你写一段代码让它释放不就行了!
作者: CUI821228    时间: 2010-7-6 21:46
UF_free()不行,UF_STYLER_free_value();也不行,我现在用的是把对象从选取列表中移除:UF_UI_remove_from_sel_list();但是达不到满意的效果,郁闷了好久了
作者: qindongjun88    时间: 2010-7-6 22:02
UF_UI_remove_from_sel_list哪个地方你不满意呀???说来听听........
UF_UI_remove_all_from_sel_list应该可以达到你的要求吧?????

本帖最后由 qindongjun88 于 2010-7-6 22:05 编辑
作者: CUI821228    时间: 2010-7-6 22:53


本帖最后由 CUI821228 于 2010-7-6 23:00 编辑
作者: mmgoal    时间: 2010-7-7 16:54
如果选择只有一个对象的话,你可以定义一个全局变量,重新选择以后替换这个全局变量的值,就能达到你想要的效果;
作者: CUI821228    时间: 2010-7-7 22:10
是可选很多对象,能否支一招???
作者: qindongjun88    时间: 2010-7-7 22:58
这个很简单呀!!
建议你使用UF_UI_remove_all_from_sel_list而不要用UF_UI_remove_from_sel_list函数.
首先用UF_UI_ask_sel_list_count函数计算出当前所选择的对象数量........
你在调用UF_UI_remove_all_from_sel_list函数之前再一次调用UF_UI_ask_sel_list_count函数来求出对象的数量,比较两次的数量是否相同不就得出你想要的结果了吗?????
作者: CUI821228    时间: 2010-7-8 10:03
非常感谢楼上的热情帮助,终于实现了我想要的效果,不过我用的不是你的方案,这个程序让我再一次深深的体会到了思路在写程序过程中的重要性。
我的方法是这样的,调用回调函数时,在进行操作之前先用UF_UI_ask_sel_object_list(select,&count1,&obj1)判断有无选取对象,如果有则对选取对象obj1操作,并在操作完之后再一次调用UF_UI_ask_sel_object_list(select,&count1,&obj2)也就是把obj1变成obj2记录下来,回调函数末尾用你说的UF_UI_remove_all_from_sel_list函数清空选择,这样在第一次判断时如果obj1的count1为空则直接对obj2操作。这样就实现了我所说的,点“应用”如果没有选取对象则对上次选取对象obj2操作,如果“应用”之前又重新选取了对象,则对本次所选的对象进行操作。
谢谢楼上几位的热心,我把我的思路和方法帖出来,希望对像我这样的初学者有些帮助,少走些弯路。在这个论坛里现在是问问题的多,回答的少。对我们这些初学者来说找些资料真不容易啊。希望大家多顶几下,不要让贴子沉下去。
最后再问题大家一个问题,UGOPEN API里怎么样通过种子面和边界面来获得对象?谢谢!!
作者: mmgoal    时间: 2010-7-8 11:35
楼上问题主要是判断条件的定义,和循环嵌套的写法,其中牵扯到运行效率的问题与数据结构有关,还是很复杂的,期待啊!!牛人!
作者: CUI821228    时间: 2010-7-8 13:02
楼上能否支招???期待高人现身!!
作者: yanwei_lc    时间: 2010-12-29 09:51
xiexie louzhu
作者: wdg110    时间: 2011-6-20 22:43
支持楼主啊




欢迎光临 iCAx开思网 (https://www.icax.org/) Powered by Discuz! X3.3