作成日: 2018/06/08 最終更新日: 2018/06/08
文書種別
技術情報
詳細
C1SizerLightによるリサイズ処理では、フォームのサイズ変更に合わせて、フォーム上に直接貼り付けたコントロールのHightやWidthプロパティの値を動的に変更することで、コントロールサイズの拡大・縮小を実現させています。
ただしリサイズ対象となるのは、フォーム上に直接配置したコントロール自身の高さや幅などに限られ、各コントロール上に貼り付けたコントロールやコントロールの内部オブジェクトには影響を与えませんので、注意が必要です。
例えばC1FlexGridでは、コントロール全体のサイズは変わりますが、各行の高さや列の幅などは変更されません。これは、行高や列幅がC1FlexGridの直接のプロパティではなく、C1FlexGridの内部オブジェクトであるRowまたはColのプロパティであるためです。行高や列幅を変更するには、リサイズに関連したイベントなどを利用し、フォームの変更比率に合わせて、それぞれの値を調整するためのロジックを自前で用意する必要があります。
なお、C1SizerLightを使用してアプリケーションを作成する場合、本コントロールの仕様に基づき、以下の条件のすべてに準ずる必要あります。
1.実行時に、フォーム上に動的にコンテンツを追加しない
2.パネルなどのコンテナを含め、フォーム上に配置するすべてのコンテンツのDockプロパティは既定値のままとする
(None以外には設定しない)
3.実行中に、各コンテンツの位置やサイズを直接変更しない
さらに、C1SizerLightを、独自のリサイズ制御を持つコントロールと一緒に使用する場合も注意が必要です。
この場合、そのコントロールとC1SizerLightのサイズ制御機能が競合を起こし、上記条件を満たしているとしても予期しない動作を引き起こす可能性があります。
ただしリサイズ対象となるのは、フォーム上に直接配置したコントロール自身の高さや幅などに限られ、各コントロール上に貼り付けたコントロールやコントロールの内部オブジェクトには影響を与えませんので、注意が必要です。
例えばC1FlexGridでは、コントロール全体のサイズは変わりますが、各行の高さや列の幅などは変更されません。これは、行高や列幅がC1FlexGridの直接のプロパティではなく、C1FlexGridの内部オブジェクトであるRowまたはColのプロパティであるためです。行高や列幅を変更するには、リサイズに関連したイベントなどを利用し、フォームの変更比率に合わせて、それぞれの値を調整するためのロジックを自前で用意する必要があります。
なお、C1SizerLightを使用してアプリケーションを作成する場合、本コントロールの仕様に基づき、以下の条件のすべてに準ずる必要あります。
1.実行時に、フォーム上に動的にコンテンツを追加しない
2.パネルなどのコンテナを含め、フォーム上に配置するすべてのコンテンツのDockプロパティは既定値のままとする
(None以外には設定しない)
3.実行中に、各コンテンツの位置やサイズを直接変更しない
さらに、C1SizerLightを、独自のリサイズ制御を持つコントロールと一緒に使用する場合も注意が必要です。
この場合、そのコントロールとC1SizerLightのサイズ制御機能が競合を起こし、上記条件を満たしているとしても予期しない動作を引き起こす可能性があります。
関連情報
旧文書番号
82846