cAlgoのコントロール全体図
前回すべてのコントロールのおおもととなるControlBaseクラスの説明をしましたが、すべてのコントロールクラスが直接ControlBaseクラスを継承しているわけではありません。
cAlgoの全コントロールクラスの継承関係はこのようになります。
ほとんどのコントロールクラスが、真ん中のCotrolBaseからさらにもう一段階ベースクラスを挟んで、個別のコントロールとしてサブクラス化されているのがわかると思います。
ユーザー操作を受けて動くコントロール
図の上部にあるボタンやテキストボックスなど、ユーザーの操作を受け付けてなんらかの機能を提供するコントロールクラスは、ControlBaseを継承したControlクラスをベースとしています。
Controlクラス
ボタンなどのベースとなるクラスです。
public class Control : ControlBase
ControlBase同様、このクラス自体を直接使うことはありません。
プロパティ
(Color) BackgroundColor {get; set;}
背景色を取得、設定します。
(Color) ForegroundColor {get; set;}
前面(テキスト等)色を取得、設定します。
(string) FontFamily {get; set;}
フォント名を取得、設定します。
(double) FontSize {get; set;}
フォントサイズを取得、設定します。
(FontStyle) FontStyle {get; set;}
フォントスタイル(太字、斜体など)を取得、設定します。
(FontWeight) FontWeight {get; set;}
フォントウェイト(太さ)を取得、設定します。
(HorizontalAlignment) HorizontalContentAlignment {get; set;}
中身の水平位置揃え方を取得、設定します。
(VerticalAlignment) VerticalContentAlignment {get; set;}
中身の垂直位置揃え方を取得、設定します。
(Thickness) Padding {get; set;}
余白を取得、設定します。
ControlBaseの各種プロパティ
Height, Width等のコントロールサイズや配置にかかわるプロパティなど。
FontStyle列挙型
フォントスタイルを表します。
Normal | 通常 |
Italic | イタリック |
Oblique | 斜体 |
Italicはフォントとして用意されたイタリック体で、Obliqueはただ斜めに傾けただけのスタイルを表します。
FontWeight列挙型
フォントの重さ(太さ)を表します。(数値は.Netの太さを表す数値ですが、目安にしてください。)
Thin | 100 |
ExtraLight | 200 |
UltraLight | 200 |
Light | 300 |
Normal | 400 |
Regular | 400 |
Medium | 500 |
DemiBold | 600 |
SemiBold | 600 |
Bold | 700 |
ExtraBold | 800 |
UltraBold | 800 |
Black | 900 |
Heavy | 900 |
ExtraBlack | 950 |
UltraBlack | 950 |
cTraderでの実際の見え方。3段階くらいにしか見えないんですけど。