チュートリアル:VCL アプリケーションで TControl.StyleElements を使用する
VCL チュートリアル への移動
次のコード例では、Vcl.Controls.TControl.StyleElements プロパティの使用方法を示しています。
VCL アプリケーションの作成
Vcl.Controls.TControl.StyleElements を使用するには、VCL フォーム アプリケーションを作成する必要があります。それには、次の手順に従います。
- [ファイル|新規作成|VCL フォーム アプリケーション - Delphi]を選択します。
- VCL フォーム デザイナを開くには、[プロジェクト マネージャ]で .pas ユニットをダブルクリックしたあと、コード エディタの下端にある[デザイン]タブをクリックします。
コンポーネントの追加と設定の調整
アプリケーションを実行する前に、以下を行う必要があります。
- [ツール パレット]からフォームに TButton をドロップします。
- フォーム上の任意の場所をクリックし、[オブジェクト インスペクタ]の[イベント]タブでフォームの OnCreate イベント ハンドラを追加します。
- TButton をダブルクリックし、そのボタンの OnClick イベント ハンドラを追加します。見えやすくするには、[オブジェクト インスペクタ]で[Font]プロパティを展開し、ボタンのフォントの[Size]を大きくします。
- 次に、コード エディタの下端にある[コード]タブで、Delphi ユニットの uses に Vcl.Styles と Vcl.Themes を追加します。
- [プロジェクト|オプション...|アプリケーション|表示]を選択し、そのページにあるすべてのスタイルのチェック ボックスをオンにします。
コードの記述
OnCreate イベント ハンドラに以下のコードを追加します。
procedure TForm1.FormCreate(Sender: TObject);
begin
Button1.StyleElements := []; //All StyleElements are disabled.
Button1.Font.Color := clGreen;
end;
void __fastcall TForm4::FormCreate(TObject *Sender)
{
Button1->StyleElements = TStyleElements();//All StyleElements are disabled.
Button1->Font->Color = clGreen;
}
Button1Click イベント ハンドラに以下のコードを追加します。
procedure TForm1.Button1Click(Sender: TObject);
begin
Button1.StyleElements := [seClient, seBorder, seFont];
Button1.Font.Color := clBlue;
end;
void __fastcall TForm4::Button1Click(TObject *Sender)
{
Button1->StyleElements = TStyleElements(seFont + seClient + seBorder);
Button1->Font->Color = clBlue;
}
アプリケーションの実行
プロジェクトを実行します。プロジェクトのメイン ウィンドウが表示されます。TForm1.FormCreate メソッドで以下のように設定したとおり、ボタンがデフォルトのスタイルになっていることを確認します。
Button1.StyleElements := [];
ボタンをクリックしても、ボタンのフォント色は、Button1Click メソッドで指定したような青には変わりません。このメソッドでは現在のスタイル設定を上書きできないためです。
同じことはデフォルト スタイルの設定にも当てはまります。これらは、コンポーネントの StyleElements プロパティが seClient に設定されている場合にのみ、フォーム作成メソッドで実行時に上書きすることができます。