同じFormを作成する場合

解決


はんじろ  2011-08-04 16:33:08  No: 40828  IP: 192.*.*.*

https://www.petitmonte.com/bbs/answers?question_id=7420

すいません解決できていなかったので、↑の続きでお願いします。

継承を利用して同じFormに拡張はできますが、継承したものの配置とかを変更するのであればFrameで作成したほうがよいのでしょうか?

Frameを作成するにもコピー元(以下Form1)を変更することになるので、Frame作成の方向もうーんといった感じです。
二つ目のForm(以下Form2)はForm1と関数などは同じ処理で、フォームの各表示も同じですが。継承を使用でき、サイズや配置が容易に変更できればベストです。

現状はファイルコピーで名前とクラス名変更で対応してしまっています。
↑Form1側をうまく使えていない。

編集 削除
HOta  2011-08-05 07:58:58  No: 40829  IP: 192.*.*.*

継承元は、継承先では変更できません。配置まで変更するなら、別の方法を考えるしか無いですね。配置まで変更するのは、別物です。コピーで良いのでは?

編集 削除
はんじろ  2011-08-05 08:48:46  No: 40830  IP: 192.*.*.*

そうですか。
簡単に変更できる設定等あればよかったのですが。
継承はしておいて継承先で配置を変えたとしてもそれは継承した意味があまりないですよね。
自分で色々試してみます、ありがとうございます。

編集 削除
ぽむぽむ  2011-08-08 09:03:32  No: 40831  IP: 192.*.*.*

解決済みチェックつきへの遅コメですが

配置変更のために継承するのは、それはそれで意味があることだと思います。
QuickReportですが、縦書き帳票を継承して横書き帳票にレイアウト変更して
利用しているものもあります。

個人的に、Frameは、"部分的に同じ機能"を複数箇所で使う場合に有効だと思っています。
今回の場合、レイアウト変更くらいで、フォームの機能全般が同じものを利用するので
継承でいいのではないでしょうか?

Delphi5までしか知りませんが、編集するとき、継承元も開いていないといけないのが非常に邪魔くさいんですけどね。

編集 削除