フォームにオブジェクトを追加する方法は複数あります:
- オブジェクトバーでオブジェクトタイプを選択し、フォームエディター上で直接それを描画する (オブジェクトバーを使用する参照)。
- オブジェクトバーからオブジェクトをドラッグ&ドロップする。
- 定義済みオブジェクトライブラリー (設定済みライブラリを使用する参照) またはカスタムライブラリー (カスタムオブジェクトライブラリの作成と使用参照) から選択したオブジェクトをドラッグ&ドロップあるいはコピー/ペーストする。
- 他のフォームからオブジェクトをドラッグ&ドロップあるいはコピー/ペーストする。
- エクスプローラー (フィールド) やデザインモードの他のエディター (リストやピクチャー等) からオブジェクトをドラッグ&ドロップする。
オブジェクトをフォームに配置したら、フォームエディターを使用してそのオブジェクトのプロパティを編集できます。
フォームでは2つのタイプのオブジェクトを扱います:
- スタティックオブジェクト (線、枠、背景ピクチャー等): これらのオブジェクトは通常フォームのアピアランスやラベル、さらにはグラフィックインターフェースを設定するために使用されます。これらはフォームエディターのオブジェクトバーから利用できます。プロパティリストを使用してこれらのグラフィック属性 (サイズ、カラー、フォント等) やリサイズオプションも指定できます。スタティックオブジェクトには、アクティブオブジェクトと異なり、変数が割り当てられません。しかしスタティックオブジェクトにダイナミックオブジェクトを挿入することは可能です (スタティックテキスト中で参照を使用する参照)。
- アクティブオブジェクト: この種のオブジェクトはインターフェース中でタスクや機能を実行します。フィールド、ボタン、スクロールリストなど様々な種類があります。各アクティブオブジェクトにはフィールドまたは変数が割り当てられます。アクティブオブジェクトについてはアクティブオブジェクトを使用するで説明します。
オブジェクトの操作(線幅やフォントを変更する)を行う前に、修正しようとするオブジェクトを選択する必要があります。
ツールバーを使用してオブジェクトを選択するには:
- ツールバーの矢印ツール
をクリックする。
カーソルをフォームエリアに移動すると、カーソルは標準の矢印の形をしたポインターに変わります。 - 選択したいオブジェクトをクリックする。
サイズ変更ハンドルが表示され、オブジェクトが選択されたことを表わします。
![](../../picture/109750/pict109750.fr.png)
プロパティリストを使用してオブジェクトを選択するには:
- プロパティリストの一番上にあるオブジェクトリストドロップダウンリストからオブジェクト名を選択します。
この方法では、他のオブジェクトの下に隠れているオブジェクトや、カレントウィンドウの表示領域外に置かれているオブジェクトを選択することができます。
オブジェクトの選択を解除するには、オブジェクト境界の外側をクリックするか、またはオブジェクト上でShift+クリックします。
注: デザインモードを検索した結果ウィンドウでオブジェクトをダブルクリックして選択することもできます (名称変更参照)。
フォームウィザードで作成されたオブジェクトが選択できない場合、
ボタンをクリックするかページメニューから0を選択して背景ページに移動し、もう一度試してください。Alt (Windows) または Option (Mac OS) を押しながらクリックすることで直接0ページのオブジェクトにアクセスすることもできます。
フォームメニューの表示サブメニューまたはエディターのコンテキストメニューでページ0の選択を解除すると、背景ページ上のオブジェクトを非表示にできます。
複数のフォームオブジェクトに関して同じ操作を適用したい場合があります。例えば、オブジェクトの移動や整列、外観の変更を行う場合などです。4Dでは一度に複数のオブジェクトを選択することができます。複数のオブジェクトを選択する方法はいくつかあります:
- 編集メニュ-からすべてを選択を選択して、すべてのオブジェクトを選択する。
- オブジェクト上でマウスの右ボタンをクリックし、コンテキストメニューから同種のオブジェクトを選択コマンドを選択する。
- Shift キーを押しながら、選択したいオブジェクトをクリックする。
- 選択したいオブジェクトグループの外側から各オブジェクトを囲むようにマーキー(選択矩形とも呼ばれます)を描画する。マウスボタンを離すと、マーキー内及びマーキーに重なるオブジェクトが選択されます。
- Alt キー(Windows)または、Option キー(Mac OS)を押しながら、マーキーを描画します。マーキーに完全に囲まれたオブジェクトが選択されます。
次の図はマーキーが描画され、2つのオブジェクトが選択されている様子を示しています:
![](../../picture/109800/pict109800.fr.png)
一連の選択オブジェクトのなかから任意のオブジェクトの選択を取り消すには、Shiftキーを押しながらそのオブジェクトをクリックします。この場合、他のオブジェクトは選択されたままになります。選択されているオブジェクトをすべて選択解除するには、
いずれのオブジェクトの境界にもかからない場所をクリックします。
アクティブオブジェクトを含む任意のオブジェクトをフォーム上で複製できます。アクティブオブジェクトのコピーはオブジェクト名を除き、変数名、型、標準アクション、表示フォーマット、オブジェクトメソッドなどすべてのプロパティが保持されます。
ツールパレットの複製ツールを使用してオブジェクトを直接複製するか、行列を指定して複製ダイアログボックスでオブジェクトを複数一気に作成できます。このダイアログでは2つのコピー間の間隔も指定できます。
変数を複製する際は、複製するコピーの名前に自動で番号を振る特別な機能を使用することもできます。この点についてはグリッド上にオブジェクト作成を参照してください。
オブジェクトを複製するには:
- 複製したいオブジェクトを選択する。
- 編集メニューから複製を選択する。
4Dは選択されたオブジェクトのコピーを作成し、オリジナルオブジェクトの基点から右下に配置します。複製されたコピーはオリジナルの前面におかれます。 - コピーを適切な場所に配置します。
ここで複製メニュー項目を再び選択すると、4Dはもう一つコピーを作成し、最初のコピーと元のオブジェクトの間との同じ距離同じ方向に配置します。続けてコピーの複製を行えば、その前のオブジェクトと相対的に同じ距離同じ方向にコピーが作成されます。以下の図はこの相対的なコピーが動作する様子を示しています:
![](../../picture/110522/pict110522.fr.png)
"行列を指定して複製"ダイアログボックスは、オブジェクトメニューから行列を指定して複製...コマンドを選択すると表示されます。
![](../../picture/110537/pict110537.en.png)
- 上のエリアには作成したいオブジェクトの列数と行数を入力します。
例えば3列2行のオブジェクトを作成したい場合、列に3を、行に2を入力します。横に3つの新しいコピーを作成したい場合は、列欄に4を入力し、行はデフォルトの1のままにします。 - 列と行それぞれに、コピー毎のオフセットを指定できます。
値はポイント単位で指定します。値は元のオブジェクトに対し相対的にコピー毎に適用されます。
例えばオブジェクトごと縦方向にに20ポイントのオフセットを残し、元のオブジェクトの高さが50ポイントである場合、列のオフセットエリアに70を入力します。 - 格子状に変数を作成したい場合、変数番号オプションを選択し、番号を付ける方向を行または列から選択します。
このオプションは選択したオブジェクトが変数の場合にのみ有効になります。詳細はグリッド上にオブジェクト作成を参照してください。
テンプレートで作成されたフィールドやオブジェクトを含め、フォーム上のグラフィックやアクティブオブジェクトはすべて移動可能です。オブジェクトを移動する場合は、次のような方法があります:
- オブジェクトをドラッグして移動する。
- 矢印キーを使用して、オブジェクトを一度に1 ピクセルずつ移動する。
- 矢印キーを使用して、オブジェクトを1ステップずつ移動する (デフォルトで1ステップ=20ピクセル)。
- プロパティリストにオブジェクトの座標を入力する (オブジェクトサイズを変更する参照)。
選択したオブジェクトのドラッグを開始すると、ハンドルが消えます。4Dはルーラーにオブジェクトの座標を示すマーカーを表示するので、適切な位置にオブジェクトを配置することができます。ハンドルをドラッグしないようにしてください。ハンドルをドラッグするとオブジェクトのサイズが変更されます。Shiftキーを押しながらドラッグすると制約付きの移動になります。
マグネティックグリッドが有効な場合、グリッドに吸着するようにオブジェクトが移動されます。詳細はマグネティックグリッドを使用するを参照してください。
オブジェクトを1ピクセルずつ移動するには:
- 移動したいオブジェクトを選択する。
- キーボード上の矢印キーを使用して、オブジェクトを移動する。
印キーを押すたびに、矢印の方向へオブジェクトが1 ピクセルずつ移動します。
オブジェクトを1ステップずつ移動するには:
- 移動したいオブジェクトを選択する。
- Shiftキーを押しながらキーボード上の矢印キーを使用して、オブジェクトを移動する。
デフォルトで1ステップで20ピクセル移動します。このピクセル数は環境設定のフォームページで変更できます。
4Dではオブジェクトをグループ化して、そのグループをひとつのオブジェクトとして選択、移動、修正することができます。オブジェクトをグループ化した場合でも、互いに対する位置関係は変わりません。一般的には、フィールドとそのラベル、透明ボタンとそのアイコン等をグループ化するでしょう。あるグループが別のグループの一部となることもできます。
グループの大きさを変更すると、そのグループ内の全オブジェクトのサイズが同じ比率で変更されます(テキストエリアは除きます。テキストエリアのサイズは、そのフォントサイズに合わせて変更されます)。
ラジオボタンをグループ化すると、そのグループ中のラジオボタンはクリック時に排他的に選択されるようになります (ラジオボタンとピクチャーラジオボタン参照)。またグループ化はグループ化されたスクロールエリアを同期するためにも使用されます。
グループ化を解除すると、再び個々にオブジェクトを扱えるようになります。またグループ化したままでもオブジェクト上をCtrl+クリック (Windows) または Command+クリック(Mac OS) して、オブジェクトのプロパティにアクセスすることができます (先にグループを選択しておく必要があります)。
グループ化はフォームエディター上でのみ意味を持ちます。フォームの実行中はグループ化されたすべてのオブジェクトが、グループ化されていないのと同じに動作します (ラジオボタンとスクロールエリアを除きます)。
注: 異なるビューに属するオブジェクトをグループ化することはできず、カレントビューに属するオブジェクトのみをグループ化することができます (オブジェクトビューを使用する参照)。
オブジェクトをグループ化するには:
- グループ化したいオブジェクトを選択する。
- オブジェクトメニューからグループ化を選択する。
または
フォームエディターのツールバーでグループ化ボタン
をクリックする。
4Dは、新たにグループ化されたオブジェクトの境界をハンドルで表わします。グループ内の各オブジェクトの境界にはハンドルが表示されません。これ以降、グループ化されたオブジェクトを修正すると、グループを構成する全オブジェクトが変更されます。
オブジェクトのグループ化を解除するには:
- グループ化を解除したいグループオブジェクトを選択する。
- オブジェクトメニューからグループ解除を選択する。
または
フォームエディタのツールバーでグループ化解除ボタンをクリックする。
グループ解除が選択不可の場合、選択したオブジェクトは既に単独のオブジェクトに分けられていることを意味します。
4Dは個々のオブジェクトの境界をハンドルで表わします。
フォームエディタの整列ツールとグリッドツールを使用すると、フォーム上のオブジェクトを互いに整列させたり、または透明グリッドを用いて揃えることができます。
- あるオブジェクトを別のオブジェクトに揃える場合、オブジェクトの上端、下端、側面で揃えたり、または別のオブジェクトの縦や横の中心線に沿って揃えることができます。整列ツールを使用して、選択オブジェクトを直接揃えたり、または整列アシスタントを用いて、さらに詳細な整列を適用することも可能です。整列アシスタントを使用した場合、例えば、そのオブジェクトを位置の参照用として利用し、整列を適用する前にフォーム上での整列状態をプレビューできるようになります。
- 透明グリッドを使用すると、手動で各オブジェクトを別のオブジェクトに揃えることができます。その際、移動中のオブジェクトが別のオブジェクトに接近すると、“目に見える”位置ガイドとして点線が表示され、これに基づいて各オブジェクトの整列を実行することができます。
ツールバーの整列ツール (フォームエディター参照) またはオブジェクトメニューの整列サブメニューを使用すると、選択したオブジェクトを瞬時に揃えることができます。
![](../../picture/110355/pict110355.en.png)
4D がオブジェクトを揃える場合、選択オブジェクトのうち1 つを定位置に置いたまま、残りのオブジェクトをそのオブジェクトに整列させます。この1 つのオブジェクトが“アンカー(基準オブジェクト)”となります。整列を行う方向で最も離れた位置にあるオブジェクトがアンカーとして使用され、他のオブジェクトはこのオブジェクトに合わせられます。例えば、一連のオブジェクトに対して右揃えを実行したい場合、一番右側に位置するオブジェクトがアンカーとして使用されます。
次の図は整列なし、左揃え、縦中央揃え、右揃えの状態を示しています:
![](../../picture/110347/pict110347.fr.png)
整列アシスタントを使用すると、オブジェクトに関するあらゆるタイプの整列や均等配置を実行することができます。
![](../../picture/110361/pict110361.en.png)
このダイアログボックスを表示するには揃えたいオブジェクトを選択し、オブジェクトメニューまたはエディタのコンテキストメニューの整列サブメニューから整列...コマンドを選択します。
- "左/右整列"や"上/下整列"エリアで、実行しようとする整列に対応する整列アイコンをクリックする。
見本エリアには、選択結果が表示されます。 - 標準のアンカー方式による整列を実行するには、プレビューまたは適用をクリックする。
この場合、4Dは整列の方向に最も遠いオブジェクトをアンカーとして使用し、他のオブジェクトをそのオブジェクトに揃えます。例えば一連のオブジェクトに右揃えを適用すると、一番右のオブジェクトがアンカーとして使用されます。
または:
オブジェクトを特定のオブジェクトに揃えるには、整列オプションを選択し、さらに他のオブジェクトを揃えるための基準としたいオブジェクトをオブジェクト一覧から選択する。
この場合、参照されたオブジェクトの位置は変わりません。
プレビューボタンをクリックすると、整列の結果をプレビューすることができます。するとフォームエディタ上のオブジェクトは整列しますが、ダイアログボックスが表示されたままなので、この整列のキャンセルや適用を行うことができます。
注: 整列アシスタントを使用すると、1 回の操作でオブジェクトの整列や均等配置を行えます。オブジェクトを均等配置する方法についての詳細はオブジェクトを均等配置するを参照してください。
フォームエディタには仮想的なマグネティックグリッド機能があります。この機能は、フォーム上でオブジェクトの配置や整列を行う際に役立ちます。オブジェクトのマグネティック整列は、お互いに対するオブジェクトの位置に基づいて行われます。マグネティックグリッドは、少なくとも2 つのオブジェクトがフォーム上に存在する場合のみ使用可能です。
この機能は次のように作用します。フォーム上のあるオブジェクトを移動する際、4D は他のフォームオブジェクトとの相対的な位置関係に基づき、このオブジェクトの位置候補を示します。次のような場合には候補が示されます:
- 水平方向に2つのオブジェクトの端または中央が同じ位置になる場合。
- 垂直方向に2つのオブジェクトの端が同じ位置になる場合。
この状況になると、4Dはその位置にオブジェクトを配置し、そこが候補位置であることを示す赤いラインを表示します:
オブジェクトを均等配置する場合、4Dはインターフェース標準に基づいてオブジェクト間の距離を提示します。マグネティック整列と同様に、均等配置が決定した時点で、その間隔が分かりやすいように赤いラインで表わします。
この処理はあらゆるタイプのフォームオブジェクトに対して適用されます。フォームメニューまたはエディタのコンテキストメニューのマグネティックグリッドコマンドを使用して、マグネティック機能をいつでも有効または無効に設定することができます。また、アプリケーション環境設定のフォームページにおいて、この機能をデフォルトで有効に設定しておくことも可能です。Ctrl キー(Windows)またはControl キー(Mac OS)を押してオブジェクトを選択すると、手動でマグネティックグリッドが有効/無効に設定されます。
注: 手動でオブジェクトサイズを変更する場合も、このマグネティックグリッドの影響を受けます。
各オブジェクトが同じ間隔で配置されるように、オブジェクトを均等配置することができます。これを行うには、ツールパレットまたは整列アシスタントの均等配置ツールを用いてオブジェクトを均等に配置します。整列アシスタントを使用した場合は、1 回の操作でオブジェクトの整列と均等配置を実行できます。
注: マグネティックグリッドが有効である場合、オブジェクトを手動で動かすと、均等配置のためガイドが表示されます。詳細は前段落を参照してください。
同じ間隔を空けてオブジェクトを配置するには:
- 3つ以上のオブジェクトを選択し、希望する整列ツールをクリックする。
- 適用したい均等配置に対応する整列ツールをツールバー上でクリックする。
![](../../picture/110507/pict110507.en.png)
または
オブジェクトメニューまたはエディターのコンテキストメニューの整列サブメニューから均等配置用のメニューコマンドを選択する。
4D は各オブジェクトを均等に配置します。各オブジェクトの中心までの間隔、および隣接する2 つのオブジェクト間にある間隔のうち最も広い間隔が基準として用いられます。
整列&均等配置ダイアログボックスを用いてオブジェクトを均等に配置するには:
- 均等配置したいオブジェクトを選択する。
- オブジェクトメニューの整列サブメニューから整列コマンドを選択する。
以下のダイアログボックスが表示されます:
![](../../picture/110361/pict110361.en.png)
- 左/右整列や上/下整列エリアにおいて、標準の均等配置アイコンをクリックする。
(標準の横均等揃えアイコン)
見本エリアには、選択結果が表示されます。 - 標準方式による均等配置を実行するには、プレビューまたは適用をクリックする。
この場合、4Dは標準の均等配置を実行し、オブジェクトは等間隔で配置されます。
または:
特定の均等配置を実行するには、均等配置オプションを選択する(例えば各オブジェクトの右側までの距離をもとにしてオブジェクトを均等に配置したい場合)。このオプションはスイッチのように機能します。均等配置チェックボックスが選択されていると、このオプションの下にあるアイコンは異なる動作を行います:
![](../../picture/110519/pict110519.en.png)
- 左/右整列の場合、各アイコンは次の均等配置に対応します。選択オブジェクトの左側、中央(横)、右側で均等に揃えます。
- 上/下整列の場合、各アイコンは次の均等配置に対応します。選択オブジェクトの上端、中央(縦)、下端で均等に揃えます。
プレビューボタンをクリックすると、この設定による実際の結果をプレビューすることができます。ただし、この処理はフォームエディター上で実行されますが、ダイアログボックスは前面に表示されたままです。したがって、変更のキャンセルや適用を行うことができます。
注: このダイアログボックスでは、整列と均等配置を合わせて実行することができます。整列に関する詳細はオブジェクトを整列するを参照してください。
フォーム上で他のオブジェクトを隠しているオブジェクトに関し、その位置を変える必要が生じることもあります。例えば、フォーム上のフィールドの背景にグラフィックを配置したい場合です。4D には背面へ、前面へ、レベルを1 つ上げる、レベルを1 つ下げるという4つのメニュー項目があり、これらのコマンドを使用してフォーム上のオブジェクトを“重ねる(レイヤー)”ことができます。この重なりはデフォルトの入力順も規定します (データの入力順を変更する参照)。次の図は、他のオブジェクトの前面に置かれたオブジェクトと、他のオブジェクトの背面に置かれたオブジェクトを示しています:
![](../../picture/110590/pict110590.en.png)
オブジェクトレベルを変更するには、以下のいずれかの作業を行います:
- オブジェクトメニューから背面へ、前面へ、レベルを1 つ上げる、レベルを1 つ下げるのいずれかを選択する
- エディターのコンテキストメニューのレベル> サブメニュー内のコマンドのいずれかを選択する
- ツールバーのレベル管理ボタンに割り当てられたコマンドのいずれかを選択する
![](../../picture/110599/pict110599.en.png)
注: 複数のオブジェクトが重なっている時、Ctrl+クリック / Command+クリックショートカットを使用して、クリックするたびに下のレイヤーにあるオブジェクトを選択できます。
異なるレベルを並び替える際、4Dは常に後ろから前に進みます。結果として、以前のレベルは選択されたオブジェクトを1レベル後ろに向けて移動します。次のレベルは選択されたオブジェクトを1レベル前に向けて移動します。
テンプレートとして使用コマンドは、オブジェクトが選択されたときにコンテキストメニューから利用可能となり、クリックされたオブジェクトをテンプレートとして保存します。このテンプレートとそのプロパティは、同種のオブジェクトを作成する際に使用されます。
以下の例で、このコマンドはテキストオブジェクトに適用されます。以降作成されるすべてのテキストオブジェクトはデフォルトで、指定したオブジェクトのプロパティを使用します:
オブジェクトタイプごとにカスタマイズされたテンプレートを使用できます。データベース全体で、オブジェクトごとに1つのテンプレートを持つことができます。
テンプレートには、コマンドが選択された時のすべてのオブジェクトプロパティが保存されています (固定座標とオブジェクトメソッドを除く)。
オブジェクトテンプレートを更新したり置き換えたりする場合は、同じオブジェクトタイプで新しいテンプレートを作成します。
フォームエディターのオブジェクトメニューからカスタムテンプレートをクリアコマンドを使用して、すべてのオブジェクトテンプレートを削除し、標準のテンプレートに戻すことができます。このコマンドを選択すると確認ダイアログが表示されます。このダイアログボックスを受け入れると、すべてのオブジェクトテンプレートがデフォルト値にリセットされます。