Moony Version0.2系列のスキン仕様を公開しています。
スキン定義ファイルはWindowsのINIファイルと同じ構造を持ち、Moony.iniの[Path]セクションのSkinで定義されたディレクトリに置かれていなければなりません。
基本的にスキンは以下のようなツリー構造をMoony内部で生成しています。
+-Tab +-Caption | +-Text +-Border-Left +-Border-Right +-Border-Bottom +-Item +-Text +-Icon +-Hover | +-Text | +-Icon +-Pressed +-Text +-Icon
セレクタはいわゆるセクションで定義します。ツリーの親子関係はピリオドによる区切りで表します。
[Tab] - Tabセレクタ。親はなし。 [Tab.Caption] - Captionセレクタ。親はTabセレクタ。 [Tab.Caption.Text] - Textセレクタ。親はCaptionセレクタ。
主に背景や画像を指定するセレクタです。タブの外観にもっとも貢献するのがこのセレクタです。Text及びIconセレクタ以外のセレクタがこれに該当します。
テキストを描画するための設定を記述するセレクタです。以下のセレクタが該当します。
アイコンを描画するための設定を記述するセレクタです。以下のセレクタが該当します。
各セレクタにはそれぞれプロパティを割り当てる必要があります。以下に例を示します。
[Tab] - タブセレクタ ThemeAPI = 1 - WindowsXPのVisualStyleを使う ThemeClass = Toolbar - VisualStyleを使う場合のクラス名 ThemePart = 0 - クラスのパーツID ThemeState = 0 - クラスのパーツの状態ID Width = 128 - タブの幅は128px
プロパティ | 値 | 説明 |
---|---|---|
ThemeAPI | 1か0 | VisualStyleを使うか否か。 |
ThemeClass | 文字列 | VisualStyleを使う場合のクラス名。 |
ThemePart | 数値 | クラスのパーツID。 |
ThemeState | 数値 | クラスのパーツの状態ID。 |
Width | 数値 | [Tab]で指定するタブの幅。Image指定時は無視。 |
Height | 数値 | [Caption]や[Item]で指定する高さ。Image指定時は無視。 |
Color | 6桁16進ColorCode | 背景色。Imageが指定されているときは無視。 |
Image | ファイル名 | 背景に使用するBMPファイルを指定する。 |
プロパティ | 値 | 説明 |
---|---|---|
Margin | 上,左,右,下 | 表示部の上下左右マージン。コンマ区切りで4カ所。 |
Color | 6桁16進ColorCode | テキストの色。 |
Align | left/center/right | 水平方向の表示位置。 |
VerticalAlign | top/center/bottom | 垂直方向の表示位置。 |
FontSize | 数値 | テキストのフォントサイズ(pt)。 |
FontFamily | フォント名 | テキスト描画に用いるフォント |
Italic | 1か0 | イタリック体で表示するか否か。 |
Weight | light/bold/normal | 文字の太さ。 |
Underline | 1か0 | 下線を付けるか否か。 |
StrikeOut | 1か0 | 取り消し線を付けるか否か。 |
プロパティ | 値 | 説明 |
---|---|---|
Position | x,y | 表示部の左上隅を起点とした座標。 |
Size | Large/Small | アイコンの大きさ。 |
Moony Version0.2.0では親のプロパティを継承しません。従って全てのセレクタを適切に記述する必要があります。これは今後の改善点として変更される予定です。