前回: 有効な表示名・表示メッセージ by Messenger Library
Windows Live Messenger Library 2.0 からの機能である Sign-in Control のスタイル変更を試してみました。結論としては使えないでしょって感じなのですが……。次期バージョンに期待しましょう。
通常の Sign-in Control はこんな感じ。
適当に変更してみた感じ。てけとーだ。
コードは次のようになります。各種 色指定を行い変更します。変更するとデフォルトのグラデーション表示はなくなります。また背景画像などの指定はできないので、ちょっとしょぼいですね。SignInControlオブジェクトを生成してから、Styleプロパティに各種の色を指定します。
Gihyo.LiveSample.SignInControl = new Microsoft.Live.Messenger.UI.SignInControl('signInFrame', privacyUrl, channelUrl, 'ja-jp');
var style = Gihyo.LiveSample.SignInControl.get_style();
style.set_backColor("#ffcccc");
style.set_borderColor("#ff0000"); // ?
style.set_buttonBackColor("#ffaaaa");
style.set_buttonForeColor("#333333");
style.set_foreColor("#008800");
style.set_linkColor("#00cc00");
?とコメントしているBorderColorは、デフォルトのSign-in Controlにボーダーがないので設定しても反映されません。他は、BackColor(背景)、ButtonBackColor(ボタン背景)、ButtonForeColor(ボタン文字)、ForeColor(文字)、LinkColor(リンク文字)とそれぞれに設定した色が反映されます。設定できる値は、コードのように「#RRGGBB」形式の色となります。
最大の問題はデフォルトから色を変更している過程が見えてしまいます。最初 非表示にしてスタイル変更後、表示など少し試みたのだけど私のJavaScript技術では無理。うーむ。
あと、バージョンが2.0なってから、対応しているブラウザがMSDNライブラリ文書に書いてあります。現在対応しているのは、Internet Explorer 7.0, Internet Explorer 6.0, Firefox 2.0, Firefox 1.5, Safari 3.0 です。