動的スタイル
コントロールに適用された際に既存のスタイル情報を単純に書き換える ビジュアルスタイルと違い、動的スタイルは実行時に追加したり削除したりすることができます。カスケード・スタイル・シートと同様です。
動的スタイルはビジュアルスタイルの一部として作成することができ、読み取り専用の機能としてアクセスすることができます。
Define_Com Class(#prim_vs.Style) Name(#LargeFonts) Bold(True) Fontsize(72)
#Panel.Style <= #MyStyles<LargeFonts>
もしくは、実行時に他のコンポーネント・インスタンスと同様に作成し、必要に応じてコントロールに適用することができます。このようにして作成されたスタイルは、完全に動的なものであり、ユーザーの好みに応じて実行時に修正することができます。
Define_Com Class(#prim_vs.Style) Name(#Fontsize) Fontsize(10)
Evtroutine Handling(#Fontsize.Changed)
#DynamicStyle.FontSize := #FontSize
Endroutine
ひとつのコントロールに対して、複数のスタイルを追加したり削除したりすることができます。
Evtroutine Handling(#...)
#Control.Styles.Add(#MyStyles<LargeFonts>)
#Control.Styles.Add(#MyStyles<UnderlineItalic>)
Endroutine
動的スタイルを使用して、角のまるめや罫線、水滴の影、前面ブラシ、背面ブラシ、不透明マスクなどの効果を定義することができます。
スタイルは全てのコントロールの見た目を変更するのにアプリケーションレベルで適用することができます。
Define_Com Class(#prim_vs.Style) Name(#Label) Cornerbottomleft(3) Cornerbottomright(3) Cornertopleft(3) Cornertopright(3)
Evtroutine Handling(#Com_owner.Createinstance)
#Sys_Appln.Appearance.Label <= #Label
Endroutine