ステップ 4 - サイズと配置を設定する(C++)

提供: RAD Studio
移動先: 案内検索

FireMonkey コンポーネントの作成(C++) への移動


この特別なコンポーネントをテストするには、ShowModal のモーダル ダイアログ ボックスとして開いたフォームに各ボタンを配置する必要があります。

  1. PanelTester.exe プロジェクトをアクティブ化し、メイン フォーム PanelTest.cpp を開きます。このフォームではダイアログ フォームが開きます。
  2. クラス(Form1 として自動生成されたもの)を、TPanelTestForm に変更します。自動的にグローバル参照変数も PanelTestForm に変わります。
  3. 次に、TestDialog.h で、フォームの名前(Form2)を「TTestDialogForm」に変更します。その参照が TestDialogForm になります。
  4. ダイアログ フォームをフォーム デザイナに切り替えます。TDialogButtonPanel([ツール パレット]の[Samples]カテゴリにある)をフォームにドロップします。
    パネルのサイズが適切ではなく、下揃えではないことに注意してください。これには次のような理由があります。
    • 作成されたコントロールのサイズと配置が、レンダリングするために使用されるスタイルリソース コンポーネントから切り離されています。
    • ルートのスタイルリソース(TRectangle)が Bottom に設定されている場合でも、多くの場合に、スタイルリソースはコントロールの子オブジェクトであるので、この設定を採用せず、コントロールのサイズ変更や配置の試行方法に関係なく、コントロールの実際の外観が、一部分に制限されないようにします。
    • スタイルリソースが適用されたとき、それらの Align プロパティは常に Contents に設定されます。その結果、スタイルリソースは、レンダリングしているコントロールのコンテンツ ボックス全体を占めます。
    ただし、実際に実行する内容は、スタイルリソースではなく、カスタム コンポーネントAlign プロパティを設定することです。これを実行するには、コンストラクタを宣言し実装します。プロパティのデフォルト値も宣言し、次のとおり Height と Width を設定します(Bottom 指定なので、Width は実際には関係ないが、代表最小値を設定できる)。これは、DialogButtonsPackage パッケージの DialogButtons ユニットで行われます。
 public:
	__fastcall TDialogButtonPanel(TComponent* Owner);
__published:
	__property Align = { default = TAlignLayout::Bottom };
__fastcall TDialogButtonPanel::TDialogButtonPanel(TComponent* Owner)
: TStyledControl(Owner) {
	Height = 46;
	Width = 300;
	Align = TAlignLayout::Bottom;
}
5. これらの変更を確認するには、コンポーネント パッケージをインストールし直します。[プロジェクト マネージャ]のパッケージ プロジェクトを右クリックして、[インストール]を再び選択します。
6. ダイアログ ボックス フォームに戻って、コンポーネントを削除し、パレットから別のコンポーネントを追加します。パネルは、ここで正しいサイズになり、整列されます。
7. コンポーネントが動作していることを確認するには、メイン フォームに戻り、ボタン(ダイアログ ボックスを開くため)とラベル(モーダル結果コードを表示するため)をドロップします。
8. 次のとおり、ボタンに対して OnClick イベント ハンドラを設定します。
void __fastcall TPanelTestForm::Button1Click(TObject *Sender)
{
	int ModalResult;
	ModalResult = TestDialogForm->ShowModal() ;
	Label1->Text = IntToStr(ModalResult);
}
9. ここで PanelTester.exe プロジェクトを実行します。ボタンをクリックして、ダイアログ ボックスを開きます。3 種類のボタンのいずれかをクリックすると、ダイアログ ボックスが閉じ、対応するモーダル結果が返ります。


前のステップ

次のステップ

関連項目