« ソースの整理2 | メイン | ある程度整理できた »

August 18, 2004

C++ビルダでフォーム表示の切り替え

C++ビルダでフォームの同じ位置に異なるダイアログのようなコントロールの固まりを切り替えながら使用する方法を調べる。
ページコントロールを使えば、タブによって切り替えられるが、タブが表示されてしまうのはちょっとかっこわるい。
そこで、同じ位置にパネルを配置し、その各パネルを表示/非表示することで、とりあえずは切り替えられることがわかった。
しかし、フォームの編集が出来ない。
各パネルないにフレームを配置し、そのフレームを編集することで、各コントロールを編集することは出来るが・・・どうもしっくり来ない。
もっと良い方法はない物だろうか?
出来れば、動的に割り当てられるとかなり良いのだが。。。

とりあえず次のようにすればいいようだ。

m_Frame = new TFrame1(this);
m_Frame->Parent = MyPanel;
m_Frame->Align = alClient;
m_Frame->Show();

まず、フレームを生成する時にオーナーをFormにする。
Parentに位置を決めるためのパネルを設定する。
アライメントをクライアント領域に設定する。(アライメントはフレームの方で設定しておけば問題ないようだ)
で、表示する。
後はいらなくなったら非表示にして削除する。
そして、各フレームの各コントロールの状態を保持する構造体でも作ってデータを設定/取得出来れば万事O.K.だ。

投稿者 Takenori : August 18, 2004 05:59 PM

Trackback Pings

このエントリーのトラックバックURL:
http://blog.kaede-software.com/mt-tb.cgi/95

コメント

Total : Today : Yesterday :