activex控件肯定在最上面,暂时没有办法!问下NI 本帖最后由 HHHHLLLL 于 2010-8-18 13:41 编辑
ActiveX 在这种情况被调用是不可能把控件放上面的,但真要实现楼主的效果(动态背景),也是可以实现的,方法就是,把FLASH播放器放到不显示的位置(界面的一边),然后在循环里不断GET 它的界面,然后用PICTRURE CONTROL现实出来,把按钮放在PICTURE CONTROL上面,OK! 本帖最后由 飞雨天 于 2010-8-18 14:30 编辑
回复 HHHHLLLL 的帖子
很好的解决方法!本来我还想说做成多个png,然后每隔100ms读入一个。。。。
把之前的解决之路也说下,虽然最终还是没解决,不过暴露的几个问题还是很有意思的:
1、当初怀疑activex容器在所有界面都是如此,就用vb写了个简单的,一运行,果然activex跑前面来了,然后用z order方法调整了下,activex容器能设置到后面去,所以,证明不是windows问题;
2、回来LabVIEW,属性节点和方法节点都没找到z order,估计是被屏蔽了,因为z order在前面板工具栏可以设置,可是对activex容器无效,2009版本依然如此;
3、既然LabVIEW屏蔽了这个入口,那就用api来做,findwindow正确找到程序窗口,然后找子窗口控件的时候findwindex却始终返回0,很是奇怪,装了vc,用spy++查看LabVIEW的window,结果发现它根本没有子窗口一说,估计是NI自己设计了一套规则,查看窗口进程的消息,按下按钮的时候也没有WM_COMMAND,只有一些USER定义事件和一些UNKOWN事件,进一步证明自己猜测(这里很有意思,等段时间之后我会贴出一个vi启动执行退出所有发生的动作,嗯,估计要好长时间);
4、楼主给我他转的gif,不过贴在LabVIEW前面板上时LabVIEW几乎跑死,cpu占用一直在95%以上,没有对gif做深入研究,不过这个现象和不加延时的循环效果是一样的,所以,想,如果可以在gif指定两帧之间的间隔,就可以降低cpu占用了;
5、待续。。。。。。
gif是可以指定(设定)帧间的间隔延迟的。 嗯,这个肯定可以改写的,一些图片编辑软件就可以,还有flash保存为gif的时候是可以设定gif的一些参数的,当然,如果知道gif的格式,自己用file io也可以改,这个会更有意思。
不过我看了下原来的gif,貌似两帧之间间隔已经很大了,估计在50ms-100ms,如此就是我猜测错 ,为什么直接贴会卡?悬而未决~ 回复 HHHHLLLL 的帖子
我还有个问题想请教一下,确实用论坛上的方法可以实现覆盖,但由于我的flash是连贯性很强的又液体流动图,用get的方法实现后画面非常卡,时钟延时改成1或者0,仍然很卡,有解决方法吗? 我建议你看看你的计算机的配置先。还有就是你播放的图片有多大,这就涉及到你的CPU运算能力和显卡了,一般来说人眼看25帧/秒的画面是流动的。或者你帖你的例子上来。
页:
1
[2]