Hatena::Groupmoz-addon

Ci.nsIZIGOROu

2008-01-24大人になる

IEでWindows Common Control (2) - Slider

| 00:50 |  IEでWindows Common Control (2) - Slider - Ci.nsIZIGOROu を含むブックマーク はてなブックマーク -  IEでWindows Common Control (2) - Slider - Ci.nsIZIGOROu

f:id:ZIGOROu:20080125004043p:image

ですな。

ソース

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
          "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:hta="urn:HTMLApplication" xml:lang="ja" lang="ja">
  <head>
    <title>Slider</title>
    <style type="text/css">
      div#commonCtlContainer object#slider {
        display: block;
        margin: 0 auto;
        background-color: glay;
      }

      div#commonCtlContainer p {
        font-size: small;
        text-align: center;
      }
    </style>
  </head>
  <body>
    <div id="commonCtlContainer">
      <object classid="clsid:F08DF954-8592-11D1-B16A-00C0F0283628" id="slider" width="400">
        <param name="Min" value="0" />
        <param name="Max" value="100" />
        <param name="Orientation" value="0" />
        <param name="Text" value="Slider" />
        <param id="tickStyle" name="TickStyle" value="0" />
        <param name="SelectRange" value="false" />
      </object>
      <p id="sliderValue">0</p>
    </div>
    <script type="text/javascript">
      // <![CDATA[
      (function() {
        var text = document.getElementById('sliderValue');

        slider.attachEvent('Change', function() { 
          text.innerHTML = slider.Value;
        });
      })();
      // ]]>
    </script>
  </body>
</html>

サンプル

メモ

TickStyleについて

これは目盛りをどう表示するかで、

typedef [uuid(F08DF950-8592-11D1-B16A-00C0F0283628), helpstring("TickStyle constants"), helpcontext(0x00033506)]
enum {
    sldBottomRight = 0,
    sldTopLeft = 1,
    sldBoth = 2,
    sldNoTicks = 3
} TickStyleConstants;

のいずれかの値です。

これって動的に変更出来るように試しに作ったんだけど、どうも変更できないみたい。

大きさについて

widthに関しては普通に変更出来るんだけど、heightは上限値がある模様。

heightは何も指定しない方が良さそう。

object.innerHTML

param要素がたくさん出てくるハズなんだけど、これやってみると面白いです。

設定してないparamも見える。恐らく初期値一覧が取れるって事ですね。

paramをまったく指定せずに、

var paramCol = object.getElementsByTagName('param');
var defaults = {};

for (var i = 0, l = paramCol.length; i < l; i++) {
  with({ param: paramCol.item(i) }) {
    defaults[param.name] = param.value;
  }
}

とかやると多分デフォルトの値一覧が取れるっぽぃ。

感想

今の所、Web用途はNGだと思うけどHTAならありだと思った。

KimesdarSKimesdarS2019/02/13 04:35Interested in HARD ROCK? How about KISS? The band is on a tour at the moment all across USA and Canada. Visit https://www.radiotargujiu.ro/oras-gri/ to know more about KISS tour dates in 2019.