Frames をフォームに貼り付けると
ひとつしか張り付かないのですが
フレームを2つ作って
Form 上でこの2つのフレームを切り替えて表示するには
どうすればよいのでしょうか?
う〜む.どういうふうにレスしたらいいか悩んだのですが....
>ひとつしか張り付かないのですが
私のところでは同じFrameも違うFrameもいくつでもフォームに配置できて
いますよ.Delphi5,6,7ですが.
Frameの作成や利用手順はいろいろありますので,有浦さんの質問の文章
だけですと,これ以上のアドバイスはちょっと無理かも知れませんね.
Align:=alClientだと1つしか貼り付けていないようにみえてしまうということでしょうか。
Xr.XRAYさんのいうように複数貼り付けることもできるはずです。
その場合、1つをVisibleにして、他をInvisibleにする必要があります。
簡単な方法としては、TPageControlを使って、
・各ページにFrameを貼り付ける
・各ページのTabVisibleをFalseにする。
・TPageControlのTabIndexで切り替える。
とすればよいかと思います。
プロジェクトのusesに貼り付けしたいフレームが入ってなくて、
ぽとりぺたりしても候補に出てこないとかさ。。。
これなら、「ユニットを追加」とかで、入ったりしないかぃ?
すみません。
考え違いしていたようです。
TFrame で 2つのUnit を新規作成し、
同じようなフォームで若干違うものを作成しました。
これをひとつのフォームから切り替えて表示し、
表示されているメニューで処理をおこうつもりでした
例えば
Frame1とFrame2 を作成し、
FormMain で 切り替える
SelFrame: array [1..2] of TFrame;
表示の切り替え
SelFrame[SelMode].Visible := (SelMode = 1);
SelFrame[SelMode].Visible := (SelMode <> 1);
以下のような記述で処理できないかなと思ったのですが。
if SelFrame[SelMode].RadioButton.Tag = 0
then 〜
else 〜;
でしたら,にしのさんのレスの方法ですね.
>・TPageControlのTabIndexで切り替える。
このTabIndexをRadioButtonで切り替える感じですね.
ツイート | ![]() |