描画スタイルが取り入れられるテーマとスタイルでは、スタイルは蓄積されていくという単純なルールに従って作業が行われます。これを理解するためには、描画スタイルとスタイルが Web アプリケーション全体ではなく、Web アプリケーション内の各コントロールに適用される様子を確認する必要があります。処理の階層は以下の通りです。
|
すべてのコントロールにはデフォルトの外観があります。
テーマが適用されると、それぞれのスタイル・セットに基づいた描画スタイル一式とシステム・テーマまたはユーザー定義のテーマが定義されます。各スタイルは、MouseOver、Pressed、Focus、Selected などの描画スタイルのモードのために使用されます。テーマ使用時にこれらの描画スタイルがアプリケーション内のコントロールに自動的にもしくは特別に適用され、関連するスタイルに影響を受けた性質を持つようになります。描画スタイルには次の2種類があります。
コントロールのテーマ描画スタイル
コントロールのテーマ描画スタイルは、事前に定義された描画スタイルで、ユーザーの追加入力なしに自動的に適用されます。ですから、描画スタイル Edit はフィールドやスピンエディットなどの全ての入力ボックスに適用され、ListItem はリストコントロールの全てのエントリー、 MenuItem はメニュー項目、PushButton はプッシュボタンなどといった形で適用されます。
例えば、プッシュボタンがあり、太字フォントと下線を描く描画スタイルを適用する場合、ボタンのテキストは太字で下線が引かれます。残りのスタイルはそのままになります。次にフォントを青にするローカルスタイルを適用すると、ボタンのテキストは太字で下線が引かれた青い字となります。
テーマ描画スタイル
テーマ描画スタイルは抽象描画スタイルで、適切な場所であればどこでも使用できます。Title、Heading1、Heading2、Heading3 などは事前に定義された名前で、すべての基本システム・テーマにデフォルトで存在します。これらのテーマ描画スタイルは、各テーマに存在する基本描画スタイル一式を提供する以外、特別の意味はありません。また、アプリケーション開発時に 1 コントロールに対して明確に適用されなければいけません。
好みのネーミング規則を使って、独自の描画スタイルを作成することも可能です。
Define_Com Class(#PRIM_LABL) Name(#Label1) Caption('Label1') Displayposition(2) Height(25) Parent(#COM_OWNER)Width(120) Themedrawstyle('Heading1')