フォームプロパティはフォームエディター のプロパティリストで設定します。 一部のフォームプロパティは、エクスプローラのプロパティウインドウで設定します。この件に関する詳細はフォームプロパティ (エクスプローラー) を参照してください。
フォームタイプを変更することができます。プロジェクトフォームの場合、詳細フォーム と印刷用詳細フォーム の2タイプが設定可能です。テーブルフォームの場合、さらに2つのタイプ、リストフォーム と印刷用リストフォーム が設定できます。
このプロパティはフォームのプロパティリストに表示されるオプションの種類を決定します。
またこの設定により、カレントの詳細/リストフォームリストに表示されるフォームの数を制限されます (テーブルリストウィンドウ、テーブルやフォームをブラウズする 参照): リストに対応するタイプのフォームだけが表示されます。
フォームタイププロパティはプロパティリストの最上部にあります。フォームタイプになし が設定されていると、そのフォームはテーブルリストの両方のメニューに表示されます。
注: エクスプローラーのフォームプロパティウィンドウでフォームタイプを指定することもできます (フォームプロパティ (エクスプローラー) 参照)。
このプロパティについては継承フォームを使用する で説明します。
デフォルトのウィンドウタイトルはアプリケーションモードでOpen window やOpen form window を用いてフォームがを開かれた場合に使用されます。このデフォルトウィンドウタイトルはウィンドウのタイトルバーに表示されます。デフォルトのウィンドウタイトルを設定するには、プロパティリストのウィンドウタイトル入力エリアにタイトルを入力します。
動的参照を使用して、ウィンドウタイトルを定義することもできます:
注:
配置を記憶 のオプションがチェックされていると、Open form window コマンドに * 演算子を渡して開かれたウィンドウに関して、セッション中にどのように変更されていてもそのウィンドウが閉じられたときにフォームの複数の情報が4Dによって自動的に保存されます:
カレントページ それぞれのフォームの配置、大きさ、表示状態(リストボックス列のサイズと表示状態も含みます)。 注: このオプションは、 OBJECT DUPLICATE コマンドを使用して作成されたオブジェクトに対しては無効です。このコマンドを使用しても使用環境を復元させるためには、デベロッパがオブジェクトの作成・定義・配置の手順をその都度行わなければなりません。
このオプションが選択されているとき、一部のオブジェクトに置いては値を記憶 のオプションが選択可能になります(詳細は ウィンドウの配置の記憶 を参照して下さい)。
フォームは常にウィンドウ内に表示されます。4Dではフォームおよびウィンドウのサイズ、およびそれらがサイズ変更された際の振る舞いをそれぞれ設定できます。 これらのプロパティは相互に作用し、アプリケーションのインターフェースはこれらの相互作用の結果となります。各フォームオブジェクトに設定されたリサイズオプションもインターフェースに影響を及ぼす点に留意してください (この点については“リサイズプロパティの設定”を参照してください)。
プロパティリストの"フォームサイズ"テーマでフォームサイズプロパティを設定します。以下の選択肢があります:
サイズを決めるもの :自動サイズ :フォームサイズは、すべてのオブジェクトを表示するために必要なサイズと、水平マージン および垂直マージン フィールドへ入力されたマージン値(ピクセル単位)を合計したものになります。 サイズを決めるもの :サイズ設定 :フォームサイズは幅 および高さ フィールドへ入力された値(ピクセル単位)により決まります(サイズ設定オプションを選択すると、水平マージンと垂直マージンフィールドが幅と高さフィールドに変わります)。 サイズを決めるもの :オブジェクト :フォームサイズは、選択したフォームオブジェクトの位置により決まります。例えば、表示されるエリアの右下部分に置かれているオブジェクトを選択した場合は、左上端がフォームの起点であり、右下端が選択したオブジェクトの右下端となる矩形にマージン値を加算したものがフォームサイズになります。 自動サイズのウインドウを用いて、オフスクリーンエリア(ウインドウの矩形境界線の外側のエリア)に配置したアクティブオブジェクトを使用したい場合にこのオプションを選択することができます。このオプションを選択すると、これらのオブジェクトによりウインドウサイズが変更されなくなります。 自動サイズ オプションまたはオブジェクトに基づいたサイズを選択すると、水平マージン と垂直マージン フィールドが表示されます。このフィールドに値を入力し(ピクセル単位)、フォームの端に追加するマージンを設定することができます。また、これらの値によりラベルエディター で使用されるフォームの上マージンと右マージンも決まります。注: リストフォームの場合は水平マージンまたは幅フィールドだけが利用可能です。 常にフォームサイズを自動計算(バイナリーデータベースでのみ利用可能な互換性オプション) :自動サイズ プロパティが選択されている場合、4Dバージョン2004より前のバージョンから変換されたフォームに対し、"フォームサイズ"テーマの"常にフォームサイズを自動計算"プロパティを利用することができます。このプロパティを使用して、フォームのリサイズモードを変更することができます。以前のバージョンの4Dでは、フォームに自動サイズ プロパティが設定されていると、フォームを開く時にのみフォームサイズが計算されていました。この後でOBJECT MOVE のようなコマンドを使用して変更を行っても、フォームサイズは調整されませんでした。この設定を使用すれば、このような場合でもフォームサイズが動的に調整されます。この処理方法は、新規フォームに対して有効です。一方で、互換性上の理由から、変換後のデータベースのフォームには、デフォルトとしてこのプロパティが選択されていません。変換後のフォームのサイズを動的に調整したい場合は、この常にフォームサイズを自動計算 オプションを選択します。
入力フォームをカスタムアプリケーションで表示する際、通常はOpen window やOpen form window 関数を使用してウィンドウを開きます。
Open window を使用すると、ウィンドウのタイプとともに、ウィンドウの左、上、右、下の座標を指定することができます。この場合、ウィンドウのサイズはフォームのサイズに影響されません。一方で、フォームサイズテーマで設定したオプションとウィンドウのタイプによって、ウィンドウサイズを変更できるかどうかが決まります。Open form window は引数に渡されたフォームのサイズとリサイズのプロパティに基づいて新しいウィンドウを作成します。
プロパティリストでフォームウィンドウのサイズ変更について設定することができます。以下のオプションを使用できます:
制約付き(バイナリーデータベースでのみ利用可能な互換性オプション) : このプロパティはバージョン2004より前の4Dから変換されたフォームで使用できます。これは以前の"サイズ変更可"フォームプロパティの振る舞いを再現するために使用されます。このオプションがチェックされていないと、オブジェクトのリサイズとウィンドウサイズの制約を処理するメカニズムは無効になります。この方法で、ユーザーは自由にフォームウィンドウをリサイズできますが、フォーム上のオブジェクトはリサイズも移動もされません。最小/最大あるいは固定サイズプロパティ、およびオブジェクトのリサイズプロパティは無視されます。これは以前のバージョンの4Dの振る舞いに対応し、特別なインターフェースにおいて互換性維持の目的でのみ使用されるべきです。現在の4Dの振る舞いに対応させる場合はオプションにチェックします (標準モード)。 ウィンドウ幅固定 : このオプションを選択するとウィンドウ幅が固定され、ユーザーは変更できなくなります。このオプションを選択しない場合、フォームのウィンドウ幅を変更することができます。この場合、最小幅 と最大幅 入力エリアを使用し、変更できるサイズを制限できます。 ウィンドウ高さ固定 : このオプションを選択するとウィンドウの高さが固定され、ユーザーは変更できなくなります。このオプションを選択しない場合、フォームのウィンドウの高さを変更することができます。この場合最小高さ と最大高さ 入力エリアを使用し、変更できるサイズを制限できます。 原則として、ユーザが入力可エリアや制御ボタンを隠せないようにする必要があります。
プラットフォームインタフェースプロパティを使用し、実行コンテキストに合わせてフォームの外観を設定します。このプロパティは、フォームオブジェクトごと個別に設定することも可能です (オブジェクトの表示プロパティを設定する の"プラットフォーム"参照)。
システム および印刷 という2 つのインタフェースプロパティを使用することができます。これら2つのプロパティは次のように使用します: 画面表示の際、フォームは現行のOS のインタフェースに準拠しなくてはなりません(システム)。一方、フォームが印刷用に設定されている場合は、プラットフォームとは関係なく、オブジェクトの外観を合わせておかなくてはなりません(印刷)。
システム : このプロパティを使用すると、4Dが稼働している現行のプラットフォームに応じて、フォームやオブジェクトの外観を自動的に合わせることができます: Mac OS X上でフォームが表示される場合、フォームやオブジェクトはMac OS Xのルック&フィールになります。 Windows上でフォームが表示される場合、フォームやオブジェクトはコントロールパネルで設定されたアピアランスを使用します。 4Dバージョン2004意向で作成されたデータベースのすべてのフォームとオブジェクトでこのモードがデフォルトで使用されます。印刷 : このプロパティを使用すると、フォームやオブジェクトの外観を印刷用に設定できます。すべてのオブジェクトやグラフィック項目 (ボタン、チェックボックス、タブ、線等) はベクターとして描画され、印刷用に最適化されます。フォームが表示や印刷されるとき、プラットフォームにかかわらず同じ結果が得られます。
このフォームプロパティは、Mac OS 上でOpen form window コマンドを使用してフォームが表示された時、そのフォームのテクスチャープロパティを有効にします。この外観はMac OSインターフェース全体的に見ることができます:
フォームがOpen form window で作成されていないウィンドウ (例えばデザインモード) で表示された場合、このプロパティは考慮されません。Mac OSにおいてテクスチャー オプションが設定され、フォームの境界が表示されている時、フォームエディターにはメタルルックがプレビューされます。フォームがWindowsで実行された場合には、このオプションはなんの効力も持ちません。
このオプションにチェックを入れると、フォームウィンドウのグローボックスが非表示になります。このオプションはたとえばDIALOG コマンドを使用してフォームを呼び出した際に考慮されます。
印刷プロパティについてはフォームを印刷する で説明しています。
アプリケーションを作成する際は、カスタムメニューを作成します。カスタムメニューを使用すると、メニューコマンドを追加して、レポート作成などのデータベース特定タスクを自動化することができます。
カスタムメニューはメニューバーエディターで作成します。作成するメニューバーには、それぞれ少なくとも1 つのメニューがあり、ユニークなID 番号と名前が割り当てられます。メニューバーやメニュー、およびメニュー項目の作成に関する詳細はメニューとメニューバー を参照してください。
フォームにメニューバーを割り当てるには、プロパティリストの"連結メニューバー"リストからメニューバーを選択します。[...] ボタンをクリックすると直接メニューバーエディターにアクセスできます (メニューとメニューバー 参照)。アプリケーションモードで、フォームに割り当てられたメニューバーはカレントメニューバーの右側に追加されます。
フォームのメニューバーとカレントメニューバーが同じ場合、追加はされません。フォームメニューバーは詳細およびリストフォーム両方で動作します。
メニューバーを選択するとアクティブメニューバー オプションが表示されます。このフォームをカスタムアプリケーションで使用したい場合、アクティブメニューバー オプションを選択します。このオプションは4Dにカレントメニューバーを無効にしないように指示します。このオプションが選択されていないと、4Dはカレントメニューバーを無効にし、フォームメニューバーへのアクセスのみが可能となります。 注: フォームプロパティ (エクスプローラー) ダイアログボックスでフォームにメニューバーを割り当てることもできます。
アクセス権とオーナーにユーザーグループを設定し、フォームへのアクセスを制御することができます。アクセス権およびオーナードロップダウンリストを用いて、それぞれの権限を1 つのグループに割り当てることができます。ユーザとグループによるパスワードアクセスシステムの作成に関する詳細はユーザー&グループ を参照してください。
アクセス権ドロップダウンリストにより、レコード表示ウィンドウやカスタムアプリケーションでそのフォームを使用できるグループを制御します。そのグループに属さないユーザがこのフォームを利用しようとすると、そのユーザのパスワードではそのフォームを使用できない、というメッセージが4Dから表示されます。
オーナードロップダウンリストにより、デザインモードでそのフォームを編集できるグループを制御します。そのグループに属さないユーザがデザインモードでこのフォームを編集しようとすると、4Dは、そのユーザにはフォームを編集するためのアクセス権がない旨のメッセージを表示します。
両方のグループに指定されているユーザはデザインモードとカスタムアプリケーションでそのフォームを使用することができます。
フォームのアクセス権を設定するには:
プロパティリストでフォームプロパティを表示する。 アクセス権 およびオーナー ドロップダウンリストを使用して、希望するアクセス権を指定する。 それぞれのドロップダウンリストには、既存のグループ名が表示されます。 [...]ボタンを使用すると、4Dのツールボックス上で直接グループエディタにアクセスすることができます。フォームプロパティ (エクスプローラー) ダイアログボックスを使用してアクセス権を割り当てることもできます。
4Dではデータベースごとにカスタムオンラインヘルプファイルを割り当てることができます。ヘルプファイルの作成については付録 A: カスタムヘルプファイルを割り当てる で説明しています。
ヘルプファイルは、それが呼び出されたコンテキストに応じて、関連する内容を表示させることができます。これを行うにはヘルプトピック番号 をフォームに割り当てます。このフォームに割り当てるヘルプトピック番号はヘルプファイルに指定された番号と同じでなければなりません。これはプロパティリストの"ヘルプ"テーマで行います。
編集 ... ボタンをクリックするとフォームメソッドがメソッドエディターで開かれます。この点についてはメソッドの編集 で説明しています。
このエリアを使用して、フォームの縦ルーラー上でのマーカーの位置を精密に指定することができます。マーカーは主に一覧フォームで使用されます。マーカーはリストされる情報を制御し、ヘッダーやブレーク、詳細、フッターを制御します。マーカーについては出力コントロールラインを使用する を参照してください。
注: 横ルーラー上のラベル幅を示す三角は、PRINT LABEL コマンドを使用してラベルを印刷するためにフォームを作成する際のラベルの幅を制御します。
このエリアではフォームメソッドの実行を導くことのできるイベントを設定します。フォームが使用される際、ここで選択されたイベントだけが生成されます。イベントを一切選択しない場合、フォームメソッドが呼び出されることはありません。 必要のないイベントの選択を解除することで、データベースの実行が早くなります。 フォームイベントについてはForm event code コマンドを参照してください。
すべてのイベントを一括して選択/選択解除するには、Ctrl (Windows) または Command (Mac OS) キーを押しながらイベントをクリックします。