插件集合帖
foobar2000插件包v0.0.4
提问的规范和技巧,发问帖必看。
foobar2000插件兼容性与故障检测
Foobar20000.9.6.8增强版8.22new!
Beta版本汉化更新 0.9.6.5 B1
Foobar2000基础帮助中心
无损音乐资源共享
标题格式化和媒体库查询表达式帮助 Foobar2000 1.0.1 Final 汉化版发布 new! changelog升级日志与翻译0.9.5.4 b1-0.9.6.2

[PUI配置] 如何用一按钮连续切换三面板

[ 489 查看 / 13 回复 ]

设想是这样:

$if(A,
$panel(A)
$button(SET:A:0)
,
$if(B,
  $panel(B)
  $button(SET:B:0)
  ,
  $panel(C)
  $button(SET:A:1;SET:B:1)
  )
)
最后这步“PVAR:SET:A:1;PVAR:SET:B:1”,分号后的不起作用,B回不到1,就只能在AC间切换;
如果改成“PVAR:SET:B:1;PVAR:SET:A:1”,那A回不去1,只能在BC间切换
pss的PanelShow就可以用分号控制多面板,PUI怎么弄,有P粉吗指点一个简单流程
最后编辑jasva 最后编辑于 2010-02-09 17:01:14
分享 转发
TOP

看来是不可能的,我只好用两个按钮,一个管外层A和(BC)的切换,一个管内层B和C的切换。真无奈
$if(A,
$panel(A)
$button(甲,SET非A)

$panel(B)
$button(甲,SET:A)
$if(B,
    $panel(B)
    $button(乙,SET非B)
  ,
    $panel(C)
    $button(乙,SET:B)
  )
)
最后编辑jasva 最后编辑于 2010-02-09 17:05:10
TOP

$select($getpvar(P),
    $panel(A),
    $panel(B),
    $panel(C)
)
$button(PVAR:SET:P:
    $ifgreater($getpvar(P),3,1,$eval($getpvar(P)+1))
)
我的作品,全部在我的Blog里首发,欢迎访问:
jensen.blog.5d.cn
TOP

回复 3# jensen 的帖子

谢谢jensen,可是切换到C后下一个是白板,白板下一个再返回A!
写成这样就没问题:

PVAR:SET:P:$ifequal($getpvar(P),1,2,$ifequal($getpvar(P),2,3,1))

你那个改成

$ifgreater($getpvar(P),2,1,$eval($getpvar(P)+1))

就可以。真是针尖上可站上帝的极限问题啊!
十分感谢
最后编辑jasva 最后编辑于 2010-02-09 22:25:39
TOP

一时没注意,写错个数~
我的作品,全部在我的Blog里首发,欢迎访问:
jensen.blog.5d.cn
TOP

回复 5# jensen 的帖子

jensen新年快乐!

$button(……,
PVAR:SET:size:$ifgreater($getpvar(size),2,1,$add($getpvar(size),1))
WINDOWSIZE:$select($getpvar(size),640:480,640:480,320:480)
,TOOLTIP:"size")

请问这里面的windowsize怎么不起作用呢?难道只能分开写成两个按钮?
最后编辑jasva 最后编辑于 2010-02-15 12:25:34
TOP

说实话,敝人对lz这种仅针对个人提问的方式,有一些些反感,呵呵~(毕竟是面向大众的论坛嘛)
本来我应该像大多数知而不言的人一样退避三舍,但现在正值新春佳节,享受美好应是所有人的权利,所以,我就给lz一个小提示吧:PUI对多个重叠按钮的处理方法是“一并执行之”。换言之,只要按钮的可点击区域是一样的,多个$button的command参数可以同时生效。

题外声明:Jensen是个绝对的高手,也是一个十足的好人。

祝愿全天下的好人们新年快乐!
再有谁存念我生平的梗概! - 徐志摩
TOP

小生着实无奈,每次提问都是jensen回答,jensen不在就没人理……除非碰到bense和asion
后台的参数可以一并执行,前面的按钮不能重叠啊!只能共用一个按钮
现在我决定变变按钮了,相同的代码就得堆叠几倍…
TOP

回复 7# Chyng 的帖子

今天找个foo_albumlist_autoupdate插件又没人理
兄台是pui死党嘛,0952不能自动更新媒体库,你有没有这个插件?
还是你有关于pui的内部解决方案?
TOP

To 8#:
“后台的参数可以一并执行,前面的按钮不能重叠”??
除了提醒你一句“试过才知道”,我无语了。

To 9#:
对于0952,我建议设置一个刷新媒体库按钮。
另类的并且更好的解决办法参见此论坛相关帖子。
再有谁存念我生平的梗概! - 徐志摩
TOP

回复 10# Chyng 的帖子

后台的参数可以一并执行,前面的按钮也会重叠啊!只能都用一个一样的按钮
TOP

回复 11# jasva 的帖子

PUI的运行机制得通过尝试才能摸透。即使我粗粗翻译的那个Commands(原型取自官方WIKI)也有些不尽正确的描述。
建议lz恶补PUI相关的基础知识。当然,前提是你有点诗人情怀(愿意忍受或屏蔽那些永不会再去除的bug)。

呵呵~我一年多没有在别人的帖子里留下文字了,原因复杂。
敝人言尽于此。
再有谁存念我生平的梗概! - 徐志摩
TOP

多命令一次执行,很明显需要通过按钮叠加实现,否则要用什么语法来分隔多个命令?像你那样把WINDOWSIZE直接跟在后面连个分隔符都没有,那不成了字符串了么。
通常的按钮叠加,只会执行最上面一个按钮的命令,但有一种例外,按钮图片为空的按钮,可以被点击“穿透”,也就是说,在一个有图片的按钮之上,覆盖一个同尺寸的透明按钮,执行第二命令即可。例如
  1.     $button($get(xOffset),$get(yOffset),0,0,0,0,$get(images)\tdbutton_h.png,$get(images)\tdbutton_h.png,PVAR:SET:DisplayTD:0,TOOLTIP:"$if($strcmp($getpvar(lang),cn),隐藏歌曲信息面板,Hide track display panel)")
        $ifequal($getpvar(DisplayPL),0,
            $button($get(xOffset),$get(yOffset),0,0,14,13,,,WINDOWSIZE:$get(ww):$get(cph):LEFT:TOP,TOOLTIP:"")
        ,)
复制代码
我的作品,全部在我的Blog里首发,欢迎访问:
jensen.blog.5d.cn
TOP

回复 13# jensen 的帖子

真奇妙。。记得PSS就是在一个按钮后面用分号分隔多命令的好像。。忘了
TOP