はじめてのガジェット作成

Vistaのサイバーに表示するガジェットはjavacsript,xmlとガジェット用APIで作成できるテキストベースの小さなプログラムある。
はじめに、簡単なガジェットを作成してみる。登録はマニュアル、一応設定画面あり。

ガジェットに必要なファイルは最低3つあればできる。

gadget.xml  <=サイドバーに登録するxmlファイル
he.html     <=ガジェットのメインのページ
he.js       <=上記のjavascript用ファイル
============================================
setting.html<=設定を変更するページ

それ以外はページを飾る画像ファイルを使用する

また、できたガジェットはひとつのフォルダに入れ、
C:\Users\okada\AppData\Local\Microsoft\Windows Sidebar\Gadgets\
にフォルダーごと保存する

ちなみにはじめからインストールされているガジェットは
C:\Program Files\Windows Sidebar\Gadgets
にある

gadget.xml ファイル

<?xml version="1.0" encoding="utf-8"?>
<gadget>
  <name>へ〜ぼたん</name>
  <version>1.2</version>
  <author name="ISM">
  </author>
  <copyright>ISM</copyright>
  <icons>
    <icon width="80" height="60" src="he-1B.jpg" />  <==ガジェット追加用画面の画像
  </icons>
  <hosts>
    <host name="sidebar">
      <base type="HTML" apiVersion="1.0.0" src="he.html" />  <==ここにサイドバーに表示するhtmlを記入
      <permissions>Full</permissions>
      <platform minPlatformVersion="1.0"/>
    </host>
  </hosts>
</gadget>

表示のhtmlファイル

he.html

<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"/>

<script src="he.js" type="text/javascript"></script>

<link href="he.css" rel="stylesheet" type="text/css" charset="Shift_JIS"/>
<bgsound src="he.wav" volume="-10000" id="mySND" loop="1">
</HEAD>

<!--
表示画像の大きさを指定する
-->
<body style="width:120px;height:100px;" onclick="hbset()" onload="load()">

<IMG SRC = "he-1B.png" WIDTH="120" HEIGHT="100" border="0"  name="hebutton" 
style="left:0px;top:0px" />
</BODY>
</HTML>

JavaScriptの部分

he.js

var Vollevel = "-1500";
var Silent; 
function hbset(){
	
	hb0 = new Image();
	hb0.src = "he-1B.png";
	hb1 = new Image();
	hb1.src = "he-1.png";
	if(!Silent){
		mySND.volume =Vollevel;
		mySND.src ="he.wav";
	}
	setTimeout("document.images[\"hebutton\"].src = hb0.src", 300); //0.3秒後
	document.images["hebutton"].src = hb1.src; //こちらが先

}

function load() {
	System.Gadget.settingsUI="settings.html";
	System.Gadget.onSettingsClosed=settingsClosed;

	function settingsClosed(event){
		if (event.closeAction == event.Action.commit){
			Volume = System.Gadget.Settings.read("Volume");
			switch ( Volume ) {
				case 1:
					Vollevel = "-2500";
					break;
				case 2:
					Vollevel = "-2000";
					break;
				case 3:
					Vollevel = "-1500";
					break;
				case 4:
					Vollevel = "-1000";
					break;
				case 5:
					Vollevel = "-500";
					break;
 				default:
					Vollevel = "-1500";
 			}

		}

		Silent = System.Gadget.Settings.read("Silent");
	}

}

トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS