Vcl.Themes.TStyleManager.SystemHooks
Delphi
class property SystemHooks: TSystemHooks read FSystemHooks write SetSystemHooks default [shMenus, shDialogs, shToolTips];
C++
/* static */ __property TSystemHooks SystemHooks = {read=FSystemHooks, write=SetSystemHooks, default=7};
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
property | public | Vcl.Themes.pas Vcl.Themes.hpp |
Vcl.Themes | TStyleManager |
説明
SystemHooks プロパティを使用して、スタイル付きのメニューや共通ダイアログやツールチップを表示することができます。
TStyleManager を使って VCL アプリケーションにスタイルを適用すると、以下の値によって、設定されたスタイルに応じたスタイル付きのメニュー、共通ダイアログ、ツールチップが表示されます。
このプロパティには、デフォルトでこれらの値が含まれています。
- shMenus: スタイル付きメニューを表示します。
- shDialogs: スタイル付き共通ダイアログを表示します (Seattle バージョン以降のみ)。
- shToolTips: ツールチップを表示します (Seattle バージョン以降のみ)。
システム フックを有効または無効にするには、この列挙型プロパティに対して該当する値を追加または削除するだけです。
次に例を示します。
- TCheckBox を使用してスタイル付きダイアログを表示します。
- Button の OnClick イベントを使用して、TOpenDialog コンポーネントを実行します。
- メモ: 共通ダイアログ コンポーネントは、[ツール パレット]の[Dialogs]カテゴリにあります。
Delphi の場合:
procedure TForm1.CheckBox1Click(Sender: TObject);
begin
if CheckBox1.Checked then
//When checking the checkbox, the value is added to the property and common dialog ares styled.
TStyleManager.SystemHooks := TStyleManager.SystemHooks + [shDialogs]
else
//When unchecking the checkbox, the value is removed from the property and the style does not apply to common dialogs.
TStyleManager.SystemHooks := TStyleManager.SystemHooks - [shDialogs]
end;
procedure TForm2.Button2Click(Sender: TObject);
begin
OpenDialog1.Execute; //Opens the dialog.
end;
C++ の場合:
void __fastcall TForm1::CheckBox1Click(TObject *Sender)
{
if (CheckBox1->Checked) {
//One possible way to add the value.
TStyleManager::SystemHooks = TStyleManager::SystemHooks + (TStyleManager::TSystemHooks() << TStyleManager::TSystemHook::shDialogs);
//Another possible way to add the value.
StyleManager::SystemHooks = TStyleManager::SystemHooks << TStyleManager::TSystemHook::shDialogs; }
else {
//One possible way to remove the value.
TStyleManager::SystemHooks = TStyleManager::SystemHooks - (TStyleManager::TSystemHooks() << TStyleManager::TSystemHook::shDialogs);
//Another possible way to add the value.
TStyleManager::SystemHooks = TStyleManager::SystemHooks >> TStyleManager::TSystemHook::shDialogs; }
}
void __fastcall TForm1::Button1Click(TObject *Sender)
{
OpenDialog1->Execute(); //Opens the dialog.
}