■ .iniファイルの説明 〜ex.01

スイッチと表示の切り替え

ですくとっぷ」のスキンで使っている、スイッチと表示の切り替えについて説明します。
このスキンは画像の一部をクリックすることで表示が切り替わる仕組みになっています。
スイッチの役割をするのは「LeftMouseDownAction=" "」です。
位置(X= Y=)とサイズ(W= H=)を指定してその範囲内で左クリックされたら、
" "に囲まれた指示(情報の表示の切り替えなど)を実行します。

表示の切り替えは、すでに表示されているものと「Hidden=1」で隠しているものを、
!RainmeterShowMeter」と「!RainmeterHideMeter」で表示したり隠したりします。
この指示を「LeftMouseDownAction=" "」で出してやるわけです。

 追記:ver.0.13から、簡単にボタンを作れるコマンド「ButtonCommand」ができました。
 ボタンになる画像を「通常時」「クリック時」「カーソルが重なった時」の順に繋げて用意し、
 そのコマンドと組み合わせれば、範囲指定や表示の切り換えの書式が大幅に省略できます。
 ただし「ButtonCommand」はボタンの画像上で左クリックしたときにしか反応できないので、
 右クリックや、カーソルが重なったときに他のことをさせることができません。
 ここで説明する方法を基本として理解し、応用した他のスキンなども参考にしてください。

それでは具体的にどう記述すればいいのか、.iniファイルで説明します。



; Rainmeter [ですくとっぷ]

;= 項目 =======================================================


  ※ここは特筆すべきところはないので省略します。

;= 表示 0 ======================================================

  ※ここも省略します。起動して表示される画像とテキストの設定です。

;= 表示 1 ======================================================

[CPU1.txt]
Meter=STRING
X=24
Y=21
Prefix="このPCは、"
FontFace="ことり文字ふぉんと"
FontColor=24, 24, 64
FontSize=9
StringAlign=LEFT
StringStyle=NORMAL
AntiAlias=1
Hidden=1

  (省略)

[CPU2.txt]
Meter=STRING
X=25
Y=105
Postfix="稼働中です。"
FontFace="ことり文字ふぉんと"
FontColor=24, 24, 64
FontSize=9
StringAlign=LEFT
StringStyle=NORMAL
AntiAlias=1

Hidden=1

  この表示1で「このPCは、CPU何%、‥‥‥‥で稼動中です。」と表示させていますが、
  Hidden=1という記述で普段は隠しています。


;= 表示 2 ======================================================

[TheTime1.txt]
Meter=STRING
X=24
Y=25
Prefix="きょうは"
FontFace="ことり文字ふぉんと"
FontColor=24, 24, 64
FontSize=9
StringAlign=LEFT
StringStyle=NORMAL
AntiAlias=1
Hidden=1


  (省略)

[TheTime3.txt]
Meter=STRING
X=23
Y=103
Prefix="になります。"
FontFace="ことり文字ふぉんと"
FontColor=24, 24, 64
FontSize=9
StringAlign=LEFT
StringStyle=NORMAL
AntiAlias=1
Hidden=1


  この表示2で「きょうは‥‥稼働時間は‥‥になります。」と表示させていますが、
  Hidden=1という記述で普段は隠しています。


;= 表示 3 ======================================================

[HDD1.txt]
Meter=STRING
X=22
Y=23
Prefix="空き容量は,"
FontFace="ことり文字ふぉんと"
FontColor=24, 24, 64
FontSize=9
StringAlign=LEFT
StringStyle=NORMAL
AntiAlias=1

Hidden=1

  (省略)

[HDD2.txt]
Meter=STRING
X=28
Y=109
Prefix="あります。"
FontFace="ことり文字ふぉんと"
FontColor=24, 24, 64
FontSize=9
StringAlign=LEFT
StringStyle=NORMAL
AntiAlias=1

Hidden=1

  この表示3で「空き容量は、C:‥‥MB、G:‥‥MB あります。」と表示させていますが、
  Hidden=1という記述で普段は隠しています。


  ここまで、切り替えて表示させる情報は全てHidden=1で隠してあります。
  そしてその表示を、ここから後の記述で表示させたり隠させたりしています。


;= ボタン ======================================================

[CPU Button]
Meter=IMAGE
X=75
Y=200
W=130
H=170
LeftMouseDownAction="!execute [!RainmeterHideMeter Trigger1.txt] [!RainmeterHideMeter Trigger2.txt] [!RainmeterShowMeter CPU1.txt] [!RainmeterShowMeter MeterCPU] [!RainmeterShowMeter MeterMemory] [!RainmeterShowMeter MeterSwapMemory] [!RainmeterShowMeter MeterNetOut] [!RainmeterShowMeter MeterNetIn] [!RainmeterShowMeter CPU2.txt] [!RainmeterHideMeter TheTime1.txt] [!RainmeterHideMeter MeterDate] [!RainmeterHideMeter MeterTime] [!RainmeterHideMeter TheTime2.txt] [!RainmeterHideMeter MeterUptime] [!RainmeterHideMeter TheTime3.txt] [!RainmeterHideMeter HDD1.txt] [!RainmeterHideMeter MeterFDS_C] [!RainmeterHideMeter MeterFDS_D] [!RainmeterHideMeter MeterFDS_E] [!RainmeterHideMeter MeterFDS_F] [!RainmeterHideMeter MeterFDS_G] [!RainmeterHideMeter HDD2.txt]"


  見た瞬間にイヤになると思いますが、よーく見てください。
  ここで画像の一部をクリックするとCPU関連を表示するようにさせています。
  まず、画像を相手にすることになるので二行目にMeter=IMAGEと記述し、
  三行目からX=75 Y=200 W=130 H=170と範囲を指定しています。

  そしてLeftMouseDownAction="!execute 〜"で、
  「その範囲で左マウスボタンが押し下げられたら以下のようにしなさい」と指示しています。

  !execute の後を見てください。[!RainmeterHideMeter Trigger1.txt]となってます。
  これは「Trigger1.txtの表示を隠しなさい」という意味になります。

  そしてその後の赤いところを見ると[!RainmeterShowMeter CPU1.txt]となってます。
  これは「CPU1.txtを表示しなさい」という意味になります。

  以下、見やすいように赤くしている部分が「表示しなさい」と指示している部分で、
  それ以外が「隠しなさい」と指示している部分です。

  つまり、まとめて最初から意訳してみると、
  「この範囲で左マウスボタンが押し下げられたら、Trigger1.txtを隠し、Trigger2.txtを隠し、
   CPU1.txtを表示させ、MeterCPUを表示させ、‥‥を隠しなさい」ということになります。
  表示するか隠すか、一つ一つ全部指定してやるわけです。

[Date Button]
Meter=IMAGE
X=120
Y=30
W=120
H=120
LeftMouseDownAction="!execute [!RainmeterHideMeter Trigger1.txt] [!RainmeterHideMeter Trigger2.txt] [!RainmeterHideMeter CPU1.txt] [!RainmeterHideMeter MeterCPU] [!RainmeterHideMeter MeterMemory] [!RainmeterHideMeter MeterSwapMemory] [!RainmeterHideMeter MeterNetOut] [!RainmeterHideMeter MeterNetIn] [!RainmeterHideMeter CPU2.txt] [!RainmeterShowMeter TheTime1.txt] [!RainmeterShowMeter MeterDate] [!RainmeterShowMeter MeterTime] [!RainmeterShowMeter TheTime2.txt] [!RainmeterShowMeter MeterUptime] [!RainmeterShowMeter TheTime3.txt] [!RainmeterHideMeter HDD1.txt] [!RainmeterHideMeter MeterFDS_C] [!RainmeterHideMeter MeterFDS_D] [!RainmeterHideMeter MeterFDS_E] [!RainmeterHideMeter MeterFDS_F] [!RainmeterHideMeter MeterFDS_G] [!RainmeterHideMeter HDD2.txt]"


[HDD Button]
Meter=IMAGE
X=0
Y=150
W=70
H=230
LeftMouseDownAction="!execute [!RainmeterHideMeter Trigger1.txt] [!RainmeterHideMeter Trigger2.txt] [!RainmeterHideMeter CPU1.txt] [!RainmeterHideMeter MeterCPU] [!RainmeterHideMeter MeterMemory] [!RainmeterHideMeter MeterSwapMemory] [!RainmeterHideMeter MeterNetOut] [!RainmeterHideMeter MeterNetIn] [!RainmeterHideMeter CPU2.txt] [!RainmeterHideMeter TheTime1.txt] [!RainmeterHideMeter MeterDate] [!RainmeterHideMeter MeterTime] [!RainmeterHideMeter TheTime2.txt] [!RainmeterHideMeter MeterUptime] [!RainmeterHideMeter TheTime3.txt] [!RainmeterShowMeter HDD1.txt] [!RainmeterShowMeter MeterFDS_C] [!RainmeterShowMeter MeterFDS_D] [!RainmeterShowMeter MeterFDS_E] [!RainmeterShowMeter MeterFDS_F] [!RainmeterShowMeter MeterFDS_G] [!RainmeterShowMeter HDD2.txt]"


  そして上の[CPU Button]を踏まえてそのあとを見ると、ShowMeterHideMeter
  逆になっていて、表示する項目と隠す項目が入れ替わっているのがわかりますか?

  このようにクリックに反応する範囲と、そのとき表示するもの・隠すものを指示することで
  スイッチのような動作と表示の切り替えをしているのです。



このようにマウスに反応させる記述は他にもあります。

LeftMouseDownAction
RightMouseDownAction
LeftMouseUpAction
RightMouseUpAction
MouseOverAction
MouseLeaveAction

見ればわかるので特に説明はしません。どう操作したいのか、考えて使ってください。
このスキンでは表示の切り替えにしか使ってませんが、いろいろなことができます。
(トグルで切り替えたりランチャーのように他のプログラムを実行させたり‥‥)
もっと複雑な、他のスキンも参考にしてみてください。


TopPage  次のページへ→