フレームを浮いた(?)状態で表示するには?

解決


忙しい暇人  2004-03-04 07:17:50  No: 7558  IP: [192.*.*.*]

始めまして、もの凄く初心者です。Delphi6 Personalを使ってます。

質問はタイトルの通りです。
フレームをFormにつけたものを 表示する,しない できるのですが、Delphiのオブジェクトインスペクタのようにウインドウについていない状態で表示させる方法が分かりません。ボタンをクリックしたときに対象のフレームを表示させたいのですが、どのようにすればいいのでしょうか。
  どなたか宜しくお願いします。

編集    削除
Mr.XRAY  URL  2004-03-04 09:37:09  No: 7559  IP: [192.*.*.*]

多分できないかも.
もう一つFormを作成して,そのFormを表示してはいかがでしょうか.

編集    削除
にしの  2004-03-04 18:38:15  No: 7560  IP: [192.*.*.*]

Floatingですよね。

  if Frame11.Floating then
    Frame11.ManualDock(Self)
  else
    Frame11.ManualDock(nil);

とすれば、FloatingしていればSelfにDockingし、FloatingしていなければFloatingします。
位置は別途設定する必要があります。

編集    削除
忙しい暇人  2004-03-04 19:04:14  No: 7561  IP: [192.*.*.*]

にしのさん、レスどうもありがとうございます。
  私の説明がいけなかったのでしょうが・・・
Formに張り付いているフレームなら、にしのさん の方法で出来るのですが、もとからFormに張り付いていないフレームを突然、Floating状態で表示というのは出来ませんかね?

編集    削除
たかみちえ  URL  2004-03-04 19:21:25  No: 7562  IP: [192.*.*.*]

ええと、間違ってるかもしれませんが…。

  フレームというのは、(わたしの知ってる限り)そのものがWindowsの部品であるわけじゃないですから、個別に作成するといったことはできないと思います。
(Googleで検索してみるとわかりますが、ダイアログリソースに使える部品一覧などをみても、フレームのようなものはありませんね)
  あらかじめ作成してあれば、にしのさんの言うとおり、Panelなどと同じように扱えると思いますので、大丈夫だと思いますが。

  普通にフォームを使うか、それとも非表示のフレームを使うか、どちらかしかないかと思います。


  まあ、うちはPersonal版でVCLソースがないので、どうとも言えませんが…。

編集    削除
にしの  2004-03-04 19:25:22  No: 7563  IP: [192.*.*.*]

ん?同じですよ。
一度貼り付けておいて、FormCreateでManualDockしてやればよろしいかと。
そうでなければ、面倒ですがDockSiteを用意して、そちらをParentにして表示すればできます。
ただ、FormCreateでManualDockするのと大差ありません。

編集    削除
忙しい暇人  2004-03-04 22:47:48  No: 7564  IP: [192.*.*.*]

ああ、分かりました。作ってそれから外せばいいんですね。
  どうもありがとうございます。

編集    削除