今日もガクリ('A`)
きっと明日もまたガクリ?('A`)
Panels UI : 矩形だけでレーティング操作
コード実行結果画像
コード実行結果画像 1

某掲示板のスレにやっつけで、矩形だけでレーティングの設定を行う Panels UI の TF を挙げたんですが、その時に書いた TF のコードをもっと汎用的にしてみました

線描画のみなので、画像などのリソースは必要ありません。…が、下記のコードを見てお解りの様に美しくないです。2 TF はループインストラクションがないので、どうしてもこうなってしまいます。あとは、レートの設定を行う事はできるんですが、該当のタグを消す事はできません

  1. // Global
  2. // padding (ボタン間の隙間)
  3. $puts(m.p, 1)
  4. // start at position (左上隅の描画開始位置 m.l=左 m.t=上)
  5. $puts(m.l, 15)
  6. $puts(m.t, 15)
  7. // 矩形の幅 (ボタンの幅)
  8. $puts(w, 20)
  9. // 矩形の高さ (ボタンの高さ)
  10. $puts(h, 5)
  11. // 通常表示時の線の色
  12. $puts(c.n, 212121)
  13. // レイティングが設定されていた時のボタン全体の色
  14. $puts(c.o, 212121)
  15. // マウスポインターをボタン上に重ねた時のボタンの枠線の色
  16. $puts(c.h, 808080)
  17. // PerTrack
  18. $rectabs(0, 0, %_width%, %_height%, $c(220,220,220), null)
  19. $select(%rating%,
  20.   $rectabs($get(m.l), $eval($get(m.t)+{$get(h)*4}+{$get(m.p)*4}), $get(w), $get(h), $get(c.o), null),
  21.   $rectabs($get(m.l), $eval($get(m.t)+{$get(h)*4}+{$get(m.p)*4}), $get(w), $get(h), $get(c.o), null)
  22.   $rectabs($get(m.l), $eval($get(m.t)+{$get(h)*3}+{$get(m.p)*3}), $get(w), $get(h), $get(c.o), null),
  23.   $rectabs($get(m.l), $eval($get(m.t)+{$get(h)*4}+{$get(m.p)*4}), $get(w), $get(h), $get(c.o), null)
  24.   $rectabs($get(m.l), $eval($get(m.t)+{$get(h)*3}+{$get(m.p)*3}), $get(w), $get(h), $get(c.o), null)
  25.   $rectabs($get(m.l), $eval($get(m.t)+{$get(h)*2}+{$get(m.p)*2}), $get(w), $get(h), $get(c.o), null),
  26.   $rectabs($get(m.l), $eval($get(m.t)+{$get(h)*4}+{$get(m.p)*4}), $get(w), $get(h), $get(c.o), null)
  27.   $rectabs($get(m.l), $eval($get(m.t)+{$get(h)*3}+{$get(m.p)*3}), $get(w), $get(h), $get(c.o), null)
  28.   $rectabs($get(m.l), $eval($get(m.t)+{$get(h)*2}+{$get(m.p)*2}), $get(w), $get(h), $get(c.o), null)
  29.   $rectabs($get(m.l), $eval($get(m.t)+{$get(h)*1}+{$get(m.p)*1}), $get(w), $get(h), $get(c.o), null),
  30.   $rectabs($get(m.l), $eval($get(m.t)), $get(w), $get(h), $get(c.o), null)
  31.   $rectabs($get(m.l), $eval($get(m.t)+{$get(h)*4}+{$get(m.p)*4}), $get(w), $get(h), $get(c.o), null)
  32.   $rectabs($get(m.l), $eval($get(m.t)+{$get(h)*3}+{$get(m.p)*3}), $get(w), $get(h), $get(c.o), null)
  33.   $rectabs($get(m.l), $eval($get(m.t)+{$get(h)*2}+{$get(m.p)*2}), $get(w), $get(h), $get(c.o), null)
  34.   $rectabs($get(m.l), $eval($get(m.t)+{$get(h)*1}+{$get(m.p)*1}), $get(w), $get(h), $get(c.o), null)
  35. )
  36. $textbutton($get(m.l), $get(m.t), $get(w), $get(h),
  37.   $rectabs(0, 0, $get(w), $get(h), null, $get(c.n)),
  38.   $rectabs(0, 0, $get(w), $get(h), null, $get(c.h)), 'Custom Info/Rate 5', tooltip, 'rate 5')
  39. $textbutton($get(m.l), $eval($get(m.t)+{$get(h)*1}+{$get(m.p)*1}), $get(w), $get(h),
  40.   $rectabs(0, 0, $get(w), $get(h), null, $get(c.n)),
  41.   $rectabs(0, 0, $get(w), $get(h), null, $get(c.h)), 'Custom Info/Rate 4', tooltip, 'rate 4')
  42. $textbutton($get(m.l), $eval($get(m.t)+{$get(h)*2}+{$get(m.p)*2}), $get(w), $get(h),
  43.   $rectabs(0, 0, $get(w), $get(h), null, $get(c.n)),
  44.   $rectabs(0, 0, $get(w), $get(h), null, $get(c.h)), 'Custom Info/Rate 3', tooltip, 'rate 3')
  45. $textbutton($get(m.l), $eval($get(m.t)+{$get(h)*3}+{$get(m.p)*3}), $get(w), $get(h),
  46.   $rectabs(0, 0, $get(w), $get(h), null, $get(c.n)),
  47.   $rectabs(0, 0, $get(w), $get(h), null, $get(c.h)), 'Custom Info/Rate 2', tooltip, 'rate 2')
  48. $textbutton($get(m.l), $eval($get(m.t)+{$get(h)*4}+{$get(m.p)*4}), $get(w), $get(h),
  49.   $rectabs(0, 0, $get(w), $get(h), null, $get(c.n)),
  50.   $rectabs(0, 0, $get(w), $get(h), null, $get(c.h)), 'Custom Info/Rate 1', tooltip, 'rate 1')

ボタンの表示順は上から 5, 4, 3…1 と 5段階に表示しています。基本的に太字部分の変数を適切な値に変更を行う事によって動作します。$textbutton() のパラメーター command はメニューを呼び出していますが、これも適切な値に変更します

ボタンの並び順は縦方向ですが、$textbutton()$rectabs() の座標パラメーターを変更する事で横方向にボタンを描画させる事もできます


  1. 掲載しているスクリーンショットの鏃の様なものは私が普段使用しているマウスカーソルです。ツールチップテキストが IrfanView のスクリーンショット機能で撮れていません…('A`)
  2. $textbutton()$rectabs()$imagebutton(), $imageabs() に変更しても、そんなに変わりません。TF とはこんなもんです
foobar2000comments (0)trackbacks (0) – pingbacks(0) – (2,653)
feel free of the comment please.

trackback URL of this article
QRcode of this article
qrcode:article
more information of this article

post date

2008年02月04日(月) 00:00:02

update

2008年02月16日(土) 16:31:02

tags

, , ,

contents
most viewed (761749)
categories
archives
recent posts
recent updates
recent comments
  • Alphaziel : PLEX PX-Q3PE (Spinel + BonCasLink + TVTest + TvRock) での録画PC 構築設定メモ : 2014年09月24日(水)
  • 泣き虫 : PLEX PX-Q3PE (Spinel + BonCasLink + TVTest + TvRock) での録画PC 構築設定メモ : 2014年09月24日(水)
  • zodiac : WordPress Plugins : Akismet htaccess writer : 2008年07月12日(土)
  • Eleftherios Kosmas : WordPress Plugins : Akismet htaccess writer : 2008年07月12日(土)
  • Mike Liwsi : WordPress Plugins : Akismet htaccess writer : 2008年07月12日(土)
recent trackbacks
mobile
qrcode:home
profile
曇り札幌市中央区 ‘ 曇り
気温: 10℃ ‘ 湿度: 66%
recommends
Valid XHTML 1.0 Transitional Valid CSS X.X
RSS 2.0 RSS 0.92
RDF/RSS ATOM
get Firefox 2 get Opera
ie