frog.raindrop.jp.knowledge http://frog.raindrop.jp/ 日々ぶつかった疑問と会得した知識をため込んでいます。別名、プログラマメモ帳。 en-us 2010-02-01T17:39:37+09:00 CScript.exe で実行したいスクリプト http://frog.raindrop.jp/knowledge/archives/002479.html WSH (Windows Script Host) ba 2010-02-01T17:39:37+09:00 続、目次フレームを自動生成する http://frog.raindrop.jp/knowledge/archives/002470.html JavaScript / JScript / ECMAScript ba 2010-01-06T10:11:31+09:00 window.onload を待たずに処理を開始する http://frog.raindrop.jp/knowledge/archives/002469.html Web ページの読み込み時に処理をさせる場合、何の疑問も持たずに window.onload を使っていたんですが、このハンドラは DOM ツリーだけじゃなくて画像まで全部読込んでから実行されるらしいです。知らんかった…。 で、そうじゃなくて DOM ツリーが生成されたタイミングで処理を開始したいなーってことで、あちこちのサイトでそんな Tips が取り上げられてるんですが、よんでもいまひとつ理解できない…。 なので調べつつ、結局自分でスクリプトを書き直してみました。こちらのブログ記事がよくまとまっていて大変参考になりました。あと、元ネタにあたるこちらとかこちらとか…。... JavaScript / JScript / ECMAScript ba 2010-01-06T09:53:27+09:00 目次フレームを自動生成する http://frog.raindrop.jp/knowledge/archives/002461.html Javascript で HTML 文書中の h1 ~ h6 を抜き出して、目次を作成するスクリプトを作成しました。見出し要素に id が振られていなければ自動生成します。自動生成した場合にやたらと "-0" が付くのはご愛嬌…。 2010.01.06 10:40 追記 自動生成した id の階層がおかしかったのを修正したものはこちら とりあえず、Google Chrome 3.0.195.38 と IE 8 で動作確認しました。あんまりきれいじゃないです。 さらに、CSS で目次部分を左側のフレームっぽく表示させるようにしています。なんちゃって擬似フレーム。これも動作確認環境は同じ。 2009.12.22 22:50 追記 Firefox 3.5 で確認したところ、目次が全部 "undefined" ってなっちゃってました。 Firefox は Element.innerText って使えないんでしたな… とりあえず、Element.textContent... www ba 2009-12-22T15:47:31+09:00 CSS で章番号を生成する http://frog.raindrop.jp/knowledge/archives/002457.html Internet Explorer でも :before 疑似要素や counter 関連のプロパティが使えるようになったみたいです。具体的にどのバージョンから何がサポートされたのか調べてないですが。 counter 関連のプロパティについてはさまざまなサイトで説明されてるんですが、紹介されているサンプルをコピーペーストしても、多くの場合、最上位のカウンターがインクリメントされないことが多いです。... www ba 2009-12-08T10:43:29+09:00 address 要素を自動的にリンクする http://frog.raindrop.jp/knowledge/archives/002450.html JavaScript / JScript / ECMAScript ba 2009-11-27T11:20:57+09:00 TreeView の SelectedItemChanged に Command をバインドしたい。 http://frog.raindrop.jp/knowledge/archives/002439.html 遅ればせながら MVVM パターンの理解を深めるために WPF でエクスプローラーもどきを作っています。TreeView にディレクトリの木構造が表示され、任意のディレクトリを選択すると、その中のディレクトリとファイルの一覧が ListView に表示される、単純なやつです。 WPF の TreeView って初めて使ったんですけど、SelectedItem プロパティが読み取り専用になってて、Binding を設定したり出来ないんですよね。ViewModel 側で選択されたものを知りたいんだけど、なかなか一筋縄では行かない感じ。TreeView や TreeViewItem のイベントで設定すれば望みのことは出来るだろうけど、できれば View から ViewModel にアクセスせずに実現したい。 なんかいい方法ないかなーと思って調べたら、ちょうど TextBox で Enter キーを叩いたときに Command を実行するようなことをしてるのを見つけました。 添付ビヘイビアでTextBoxにCommandを実装してみた - SharpLab. 添付プロパティ内でイベントハンドラを設定したりするの、添付ビヘイビアって言うんですね。知らなかったです。手法自体は使ったことありましたが。... WPF (Windows Presentation Foundation) ba 2009-10-28T14:25:43+09:00 Excel の全シートの表示倍率を設定するマクロ http://frog.raindrop.jp/knowledge/archives/002408.html Office/Word/Excel ba 2009-08-21T14:01:55+09:00 リンクローカルな IPv6 アドレスにつけるインターフェース番号を確認する http://frog.raindrop.jp/knowledge/archives/002401.html C:\>netsh interface ipv6 show interface アクティブ状態を照会しています... Idx Met MTU State Name --- ---- ----- ------------ ----- 6 2 1280 Disconnected Teredo Tunneling Pseudo-Interface 5 0 1500 Connected ローカル エリア接続 4 0 1500 Connected ローカル エリア接続 2 3 1 1280... Network ba 2009-07-14T09:36:01+09:00 インストールされている .NET Framework のバージョンをチェックするスクリプト http://frog.raindrop.jp/knowledge/archives/002398.html .NET プログラミング ba 2009-07-10T10:34:46+09:00 TextBox に長さ制限を設ける http://frog.raindrop.jp/knowledge/archives/002394.html WPF の TextBox の MaxLength が TSF 環境下で使い物にならない件ですが、Feedback への Microsoft からの回答によると、次期バージョンで何とかなる、のかな? とはいえ、今抱えてる案件は .NET Framework 3.5 で対応しなきゃいけないわけで。添付プロパティを使って無理矢理対応してみました。時間があったらまた詳しく書きます。 ※ バイト数単位で切ることはできません。文字数単位です。 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Windows; using System.Windows.Controls; using System.Windows.Input; namespace MaxLength { public class LengthCheck { ///... WPF (Windows Presentation Foundation) ba 2009-07-02T12:14:17+09:00 RadioButton を ListBox で実装する 4 http://frog.raindrop.jp/knowledge/archives/002393.html WPF (Windows Presentation Foundation) ba 2009-07-01T13:34:04+09:00 RadioButton を ListBox で実装する 3 http://frog.raindrop.jp/knowledge/archives/002392.html RadioButton を ListBox で実装する、RadioButton を ListBox で実装する 2の続き。 カスタムコントロールにしてみた。 RadioButtonsControl.cs using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Navigation; using System.Windows.Shapes; namespace WpfSample { ///... WPF (Windows Presentation Foundation) ba 2009-07-01T09:59:45+09:00 RadioButton を ListBox で実装する 2 http://frog.raindrop.jp/knowledge/archives/002388.html WPF (Windows Presentation Foundation) ba 2009-06-09T21:17:50+09:00 RadioButton を ListBox で実装する http://frog.raindrop.jp/knowledge/archives/002386.html MSDN ライブラリのバージョンに関する情報の欄に、なにげに「Microsoft Visual Studio 2010/.NET Framework 4.0」が追加されてます。 わたしが .NET Framework 4.0 に一番望むこととは、RadioButton へのデータバインドが正常に機能することですかね…。 フィードバック: RadioButton.IsCheckedProperty losing databindings なにしろ、RadioButton の IsChecked に何かをバインディングすると、1つの対象に複数の RadioButton から同期を取ろうとするせいか、途中でバインディングが無効になってしまいます。 複数の項目から 1 つを選んで何かにバインドさせるなら、ListBox (というか Selector) が得意とするところですよね。ならば、見た目が RadioButton の ListBox を作ってやれば解決です。こういうのは WPF ならではですね。... WPF (Windows Presentation Foundation) ba 2009-06-08T16:53:20+09:00