異なるデバイス サイズに対し異なるレイアウトや外観を提供するために使用されるデザイン クラス
祖先 - ブジェクト (PRIM_OBJT)
デザインは、アプリケーションのサイズ変更時の外観を制御するために使用されます。 Layout Managers は、コントロールのサイズを正しく確認するために使用できますが、レイアウトフローとコントロールスタイルの変更を許可するには、追加の機能が必要です。 たとえば、大画面ではページは左右の 2 辺として表示されるが、携帯電話では上下に表示されるます。 コンテナの Width がそのしきい値に達すると、デザインが実装されます。DesignChanged イベントは、新しいデザインが起動していることを示すために起動します。DesignChanged は再利用可能なすべての部分でも起動し、コードを実行して外観を調整する機会を提供します。 すべてのデザインは独立しており、外観の面を設定するために他のデザインに頼るべきではありません。
この例では、画面のサイズ変更に伴ってラベルのサイズが変化する簡単なレスポンスデザインを示しています。 モバイルデザインは、幅が 320 ピクセルの場合に実装されます。フォントサイズが変更され、新しいレイアウトがページに適用されます。
Begin_Com Role(*EXTENDS #PRIM_WEB) Height(360) Width(737) Layoutmanager(#LayoutMobile) Style(#ApplicationStyle) Designmanager(#Designs) Define_Com Class(#PRIM_VS.Style) Name(#ApplicationStyle) Fontsize(36) Define_Com Class(#PRIM_VS.Style) Name(#Style2) Backgroundbrush(#Brush1) Define_Com Class(#PRIM_VS.SolidBrush) Name(#Brush1) Color(219:244:255) Define_Com Class(#PRIM_VS.Style) Name(#Style3) Backgroundbrush(#Brush2) Define_Com Class(#PRIM_VS.SolidBrush) Name(#Brush2) Color(232:255:210) Define_Com Class(#PRIM_DESN) Name(#Designs) Define_Com Class(#PRIM_DESN.Design) Name(#Mobile) Designmanager(#Designs) Width(320) Define_Com Class(#PRIM_TBLO) Name(#LayoutWide) Define_Com Class(#PRIM_TBLO.Column) Name(#Column1) Displayposition(1) Parent(#LayoutWide) Define_Com Class(#PRIM_TBLO.Column) Name(#Column2) Displayposition(2) Parent(#LayoutWide) Define_Com Class(#PRIM_TBLO.Row) Name(#Row1) Displayposition(1) Parent(#LayoutWide) Define_Com Class(#PRIM_TBLO.Item) Name(#LayoutItem1) Alignment(TopLeft) Column(#Column1) Flow(Down) Manage(#Height) Parent(#LayoutWide) Row(#Row1) Define_Com Class(#PRIM_TBLO.Item) Name(#LayoutItem2) Alignment(TopLeft) Column(#Column2) Flow(Down) Manage(#Width) Parent(#LayoutWide) Row(#Row1) Define_Com Class(#PRIM_TBLO) Name(#LayoutMobile) Define_Com Class(#PRIM_TBLO.Column) Name(#Column3) Displayposition(1) Parent(#LayoutMobile) Define_Com Class(#PRIM_TBLO.Row) Name(#Row2) Displayposition(1) Parent(#LayoutMobile) Define_Com Class(#PRIM_TBLO.Row) Name(#Row3) Displayposition(2) Parent(#LayoutMobile) Define_Com Class(#PRIM_TBLO.Item) Name(#HeightItem1) Column(#Column3) Manage(#Height) Parent(#LayoutMobile) Row(#Row2) Define_Com Class(#PRIM_TBLO.Item) Name(#WidthItem1) Column(#Column3) Manage(#Width) Parent(#LayoutMobile) Row(#Row3) Define_Com Class(#PRIM_LABL) Name(#Height) Caption('Height') Displayposition(1) Ellipses(Word) Height(180) Left(0) Parent(#COM_OWNER) Tabposition(1) Tabstop(False) Top(0) Verticalalignment(Center) Width(737) Alignment(Center) Style(#Style2) Define_Com Class(#PRIM_LABL) Name(#Width) Caption('Width') Displayposition(2) Ellipses(Word) Height(180) Left(0) Parent(#COM_OWNER) Tabposition(2) Tabstop(False) Top(180) Verticalalignment(Center) Width(737) Alignment(Center) Style(#Style3) Evtroutine Handling(#Com_owner.DesignChanged) Design(#Design) If (#Design *IsEqualTo #Mobile) #Com_owner.LayoutManager <= #LayoutMobile #ApplicationStyle.FontSize := 22 Endif If (#Design *Is *null) #Com_owner.LayoutManager <= #LayoutWide #ApplicationStyle.FontSize := 36 Endif Endroutine Evtroutine Handling(#Com_owner.SizeChanged) #Height := "Height " + #Com_owner.Height.asstring #Width := "Width " + #Com_owner.Width.asstring Endroutine End_Com
名前 | 記述 |
---|---|
ComponentClassName | コンポーネントのクラス名です。 ブジェクト (PRIM_OBJT) より継承 |
ComponentMembers | このコンポーネントの全てにアクセスできるようにします。 ブジェクト (PRIM_OBJT) より継承 |
ComponentPatternName | コンポーネントのクラスを制限します。 ブジェクト (PRIM_OBJT) より継承 |
ComponentTag | インスタンス用に値を格納できる汎用スペース ブジェクト (PRIM_OBJT) より継承 |
ComponentType | ComponentType ではコンポーネントのタイプ情報にアクセスできます。 ブジェクト (PRIM_OBJT) より継承 |
ComponentTypeName | ComponentTypeName 十分適格なコンポーネントのクラス名です。 ブジェクト (PRIM_OBJT) より継承 |
DesignManager | デザイン マネージャへの参照 |
Name | コンポーネントの名前 ブジェクト (PRIM_OBJT) より継承 |
Owner | コンポーネントのオーナーです。 ブジェクト (PRIM_OBJT) より継承 |
Parent | このインスタンスが添付されているコンポーネント インスタンス。コントロールのビジュアル コンテナまたは子インスタンスのコレクション ブジェクト (PRIM_OBJT) より継承 |
Width | このデザインに適用される幅 |
名前 | 記述 |
---|---|
CreateInstance | コンポーネントを作成する時に CreateInstance のイベントを実行します。 デザイン (PRIM_DESN.Design) より継承 |
DestroyInstance | コンポーネントが解除される前に DestroyInstance のイベントを実行します。 デザイン (PRIM_DESN.Design) より継承 |
2018 - V14SP1