positiontypeプロパティ
position2プロパティが追加されて、コンポーネントにどんなプロパティを適用するかを判断するプロパティとしてpositiontypeプロパティ値を追加しました。positiontypeプロパティ値により使用しないプロパティは、UX-Studioのプロパティウィンドウで無効状態に変更されます。
UX-Studioのメニューの[Tools>Options]でオプション項目の[Form Design>Position]でデフォルト値に適用するpositiontypeプロパティ値を指定することができます。該当設定によりコンポーネントをFormに配置した場合、positiontypeプロパティ値を指定します。該当設定値はデフォルト値を指定することだけで、コンポーネントのpositiontypeは変更することができます。
Position & Anchor
コンポーネントが画面に表示される位置とサイズを指定するためにpositionプロパティ値を指定します。コンポーネントが表示されるx、y座標を指定して、コンポーネントの高さ(height)と幅(width)を指定することができます。x、y座標の代わりleft、topプロパティ値を指定して、親コンポーネント(Form、Divなど)からの距離を指定することもできます。
親コンポーネントのサイズが固定された場合には、コンポーネントの位置とサイズを変更する必要がありません。ただし、画面サイズが可変である場合には、配置されたコンポーネントの位置とサイズを適切に再調整する必要があります。position2プロパティを使用する場合には、位置やサイズを親コンポーネントに対する比率(%)で指定することができますので、親コンポーネントのサイズが変更されたときに配置されたコンポーネントのサイズを調整することができます。ただし、positionプロパティ値を指定する単位はピクセル(px)のみサポートします。
したがって、positionプロパティ値を使用する場合も、親コンポーネントの位置とサイズの調整に対応できるようにanchorプロパティをサポートしています。anchorプロパティはコンポーネントと親コンポーネント間の距離を固定するかどうかを指定するプロパティです。left、top、right、bottomの4つのプロパティを組み合わせて、どのように間隔を維持するかを決定します。
UX-Studioのプロパティウィンドウで、anchorプロパティはpositiontypeプロパティ値が「position」の場合にのみ有効になります。position2プロパティ値によりanchorプロパティ値が変更される場合もありますが、positiontypeプロパティ値を変更した場合、同様の条件を合わせるためにUX-Studio内部で処理することです。
default
anchorプロパティ値をdefaultに指定した場合には、プロパティ値を「left top」に指定したことと同じ方法で処理します。コンポーネントのx、y座標が固定された状態で、コンポーネントの他のpositionプロパティは変更されません。したがって、親コンポーネントの位置やサイズが変更されても常に同じ位置を維持します。
プロパティ値 | 説明 |
---|---|
default | left topプロパティ値に処理します。 |
left top | コンポーネントのx、y座標を固定します。 親コンポーネントの位置、サイズに関係なく同じ位置、サイズに固定します。 |
left top固定
プロパティ値を「default」に指定したときのように、「left top」が固定された場合には、コンポーネントのx、y座標を変更しません。さらに指定したプロパティ値によりコンポーネントの幅、高さが大きくなります。
コンポーネントのx、y座標値が固定されるので、他のコンポーネントに接して配置した場合にはコンポーネントを重なって表記することがあります。
プロパティ値 | 説明 |
---|---|
all | left top right bottomプロパティ値として処理します。 親コンポーネントのサイズに比例して、コンポーネントのサイズを変更します。 |
left top right | 親コンポーネントの幅変更に比例して、コンポーネントの幅を変更します。 コンポーネントの高さは変更しません。 |
left top bottom | 親コンポーネントの高さ変更に比例して、コンポーネントの高さを変更します。 コンポーネントの幅は変更しません。 |
プロパティ値により変更される要素
プロパティ値として指定される値は、コンポーネントを引いて固定している面を意味します。たとえば、left top方向でコンポーネントを引いて固定していると、x、y座標は固定された状態で、残りのプロパティにより、コンポーネントのサイズが変わります。逆にleft、top方向でコンポーネントを引いて固定していない場合、コンポーネントは、既存の場所から離れることになります。
下図ではanchorプロパティ値を「right bottom」に指定しました。親コンポーネントのサイズ変更によりコンポーネントのx、y座標が移動することを確認できます。赤で表示された部分は、元のコンポーネントの位置を表示したのです。
親コンポーネントのサイズが大きくなると、子コンポーネントのサイズが小さくなる場合もあります。たとえばanchorプロパティ値が「left」の場合、x座標は固定された状態ですが、残りの方向では既存の状態を維持します。y座標は下に移動し、bottom、right方向にコンポーネントのサイズが変更されません。コンポーネントのサイズはそのまま維持したままy座標が下に移動するため、コンポーネントの高さの値が減少することになります。
下記は、各プロパティ値によるx、y座標とコンポーネントのサイズの変更をまとめた表です。
プロパティ値 | x座標 | y座標 | 幅 | 高さ0 |
---|---|---|---|---|
default (left top) | X | X | X | X |
all | X | X | O | O |
none | O | O | O(減少) | O(減少) |
left top right | X | X | O | X |
left top bottom | X | X | X | O |
top right bottom | O | X | X | O |
left right | X | O | O | O(減少) |
left bottom | X | O | X | X |
top right | O | X | X | X |
top bottom | O | X | O(減少) | O |
right bottom | O | O | X | X |
left | X | O | X | O(減少) |
top | O | X | O(減少) | X |
right | O | O | X | O(減少) |
bottom | O | O | O(減少) | X |
Position2(V9.2追加)
position2とは、比率である“%”で Positionを指定することができるプロパティを意味します。UX-Studioで、Ruler, DotGrid(画面の下に表示される点)などのPosition2関連編集機能を提供します。
座標系説明
既存の positionの座標は、画面の leftと topを基準にして基準点から離れた pixel距離を座標情報として使用します。
V9.2で追加された position2は、既存座標系の表現限界を克服するために導入された座標系として、以下の図のようにユーザーが入力したleft、right、width、top、bottom、heightの中で4つの入力とし、表現されます。
コンポーネントの Position2設定
コンポーネントのプロパティとして、position2と positiontypeがついかされました。コンポーネントの座標系は positiontypeで決められます。
Propertiesウィンドウでは、position, position2 両方全部修正が可能ですが、XFDLのソースには positiontypeで指定された座標系に保存されます。
Propertiesウィンドウでは、追加された Position2の単位を歓談に変更することができるように px, %をサポートします。
パーセント単位は position2でのみサポートされ、コンポーネントの positiontypeが positionを使用する場合には、該当機能に値が変更されません。
フォームデザイン
Tracker
コンポーネントの positiontypeを position2に設定する場合 trackerの形が異なって表示されます。
Positioin2 Trackerは、固定された辺を赤い色で表示してposition2の値を個別にチェックしなくても、Anchorの状態を知ることができます。
Ruler / Dot Grid
Position2は、パーセント入力をサポートするため、Form Design上で簡単に確認することができるようにパーセント単位で情報を表示する機能が追加されました。
ルーラのポップアップメニューで、Show Pixel Ruler / Show Percent Rulerを選択した場合、該当単位でルーラと Dot Gridの表示方法が変更されます。
Component Resize Info
コンポーネントを一つだけ選択した状態で、Trackerでれサイズする場合、リサイズされる情報を表示します。
もし、ルーラ単位がパーセントで表示中ならば Resize Infoもパーセント単位で表示されます。
Position Editor
ユーザーが簡単に Position情報を選定することができるように UIを持つエディタを提供します。Position Editorは、フォームデザインのミニツールバーで呼出すことができます。
ミニツールバーは XPLATFORM 9.2バージョンで追加された機能として、頻繁使用される Styleプロパティメニューを使用して簡単に週セうすることができる機能です。
Position Editorで修正された値は、対象コンポーネントが使用中の positiontypeに合わせた position, position2値に変更されて反映されます。
New Project Wizard
フォームデザインでコンポーネントを生成する場合、生成されるコンポーネントの positiontypeのデフォルト値を New Project Wizardから入力できるように機能が追加されました。
入力された PositionTypeは、XPRJファイルに保存され、プロジェクト単位で管理されます。
New Project Wizardから選択された PositionTypeは、Tools > Optionsで変更可能です。
Position2関連注意事項
Layout Manager機能を使用してフォームをデザインする場合、Left、Top、Width、Heightを使用して Position2を指定しないと追加 Layoutでコンポーネントが消える現象が発生しますので注意してください。
例えば、以下の図のように Left、Top、Right、Bottomを利用して Position2を指定すると Default Layoutではボタンが正常に表示されます。
但し、以下の図のように追加 Layoutでは、ボタンが消えて表示されません。
このような現象が発生する理由は、フォームの Left、Top位置が固定されているためです。
従って、Layout Manager機能を使用する場合、必ず Left、Top、Width、Heightを利用して Position2を設定してください。