iCAx开思工具箱

标题: ProSelectionHighlight函数高亮效果 [打印本页]

作者: sephirothgg    时间: 2010-11-3 16:26
标题: ProSelectionHighlight函数高亮效果
请问有谁知道怎样使ProSelectionHighlight高亮效果在重画视图后仍然保存啊


作者: hust65    时间: 2010-11-3 21:37
你的重繪視圖是指用 ProWindowRepaint ?
作者: sephirothgg    时间: 2010-11-4 10:05
2#  没有使用ProWindowRepaint函数,用prodb_xsec_component提取的轮廓通过ProSelectionHighlight加亮,但是由于循环生成切片提取轮廓只能使最后一个切片轮廓呈现加亮效果,其他的估计由于循环而消失了,不知道该怎么解决
作者: hust65    时间: 2010-11-4 10:11
先聲明我沒有做過,
但是我覺得可以嘗試把ProSelection都紀錄下來
最後再一起用ProSelectionHighlight
可以試試看
作者: sephirothgg    时间: 2010-11-4 10:48
4#  我发现好像不是加亮视图循环后消失,而是只在最后一次循环完成后才加亮,很奇怪,我把加亮函数放在循环里了,怎么会产生这样的效果,感觉难以解释,我也考虑过你说的方法,但得自己定义一个类进行存储,对我来说有些麻烦,呵呵
作者: hust65    时间: 2010-11-4 10:53
你是不是有用到ProSelect?
作者: sephirothgg    时间: 2010-11-4 11:05
6#  没有,用的是ProSelectionAlloc函数,将获取的surface的ProModelitem指针传给该函数,再加亮,如下:
status = ProSelectionAlloc(NULL, (ProModelitem*)&sf_item, &sf_sel);
status = ProSelectionHighlight(sf_sel, PRO_COLOR_HIGHLITE);
作者: hust65    时间: 2010-11-4 11:18
都是猜測
會不會是你是用宣告 ProSelection sf_sel ?
然後迴圈裡就一直用 sf_sel
如果是這樣的話會有問題
作者: sephirothgg    时间: 2010-11-4 14:44
8#  是啊,我在循环外声明sf_sel以后循环里就一直在用这个。。难道是内存分配问题??
作者: sephirothgg    时间: 2010-11-4 21:57
8#  
循环最后加了句ProSelectionFree(&sf_sel)还是不管用。。
作者: sephirothgg    时间: 2010-11-4 22:09
8#  ProSelectionHighlight定义说明里有句 Highlights the selection in the current window. 估计只有最后一次生成切片时窗口才算是当前窗口,前面几次都被刷新过了,不能算是当前窗口
作者: hust65    时间: 2010-11-5 09:56
我沒用過prodb_xsec_component
不過我有在迴圈內用ProSelectionHighlight去高亮一些特徵
是可以用的
可能狀況不同吧
作者: sephirothgg    时间: 2010-11-5 11:06
12#  

嗯,我估计prodb_xsec_component函数没什么影响,主要是prodb_create_parallel_xsec函数导致的。。。只能换个方法了




欢迎光临 iCAx开思工具箱 (https://t.icax.org/) Powered by Discuz! X3.3