SplitterをMDIFormで使うには?


たけ  2002-12-01 10:10:30  No: 2264  IP: 192.*.*.*

MDIFormにSplitterを使ったときに表示がおかしくなるようなのですが
これを回避する方法はあるのでしょうか?

以下の手順のときにこの現象を確認しました。

1.新規アプリケーションを作成
2.メインのFormのFormStyle=fsMDIFormに、Color=clAppWorkSpaceにする
3.FormにPanelを置いてAlign=alLeftにする
4.FormにSplitterを置いてColor=clBtnFaceにする

上のようにして実行するとFormになぜか縦ラインが表示されてしまいます。
どなたか解決法を教えていただけませんでしょうか。

編集 削除
風来坊  2002-12-01 12:53:43  No: 2265  IP: 192.*.*.*

Splitterも Color:=clAppWorkSpace にしてみて下さい。
いや、確認したわけではないですが…。
多分、それでOKかと。

編集 削除
たけ  2002-12-01 16:26:38  No: 2266  IP: 192.*.*.*

>風来坊さん
Color=clAppWorkSpaceまたはParentColor=trueにすると
Formに縦ラインが表示されるのは防げるのですがSplitterの
色が変わってしまいます。
できればSplitterの色をclBtnFaceにしたいので…
あと、書き忘れましたが当方Delphi6Personalです。

編集 削除
にしの  2002-12-01 18:38:17  No: 2267  IP: 192.*.*.*

ResizeStyleを、rsUpdateにすれば回避できると思います。
ただし、動作は全く別物になります。

編集 削除
たけ  2002-12-08 00:34:35  No: 2268  IP: 192.*.*.*

>にしのさん
お返事が遅れて申し訳ありません。
ご教授していただいた通りにやってみたのですが
やはりラインは表示されたままでした。
いろいろと試してみたのですがやはりFormに縦のラインが表示されてしまいます。
やはり我慢してColor:=clAppWorkSpaceで使用するしかないのでしょうか...

編集 削除
にしの  2002-12-08 11:56:12  No: 2269  IP: 192.*.*.*

rsUpdateにすると、Splitterはラインが表示されるのでなく、パネルの大きさを随時変えてくると思うのですが、それでもラインが表示されると言うことでしょうか。
うちの環境はDelphi5ですが、前に同じ現象が出まして、rsUpdateにして回避しました。
# 今は、なぜか再現できないので未確認です

編集 削除
風来坊  2002-12-08 14:05:16  No: 2270  IP: 192.*.*.*

たしかに、rsUpdateにしても無駄な縦線が出ますね(Delphi6にて)
しかも、かなり見た目が悪い感じで(^^;
clAppWorkSpaceで回避できるので、我慢するしかないかと?

編集 削除
にしの  2002-12-08 17:14:29  No: 2271  IP: 192.*.*.*

あとは、パネルを2つ使った代替方法で回避するしかないですね。

片方(ライン用)をHideにしておいて、パネルがドラッグされたらHideしてあったライン用パネルをShowし、マウスの位置にあわせて移動。
マウスアップでパネルの位置を変更する、というもの。
Splitterがなかったころ使ってました。

編集 削除
たけ  2002-12-10 17:15:43  No: 2272  IP: 192.*.*.*

風来坊さん、にしのさん ありがとうございます。

どうやらあきらめてFormと同じようにcolor=clAppWorkSpaceで我慢するか
Splitterに変わるものを自分で用意するしかないようですね...
取りあえずにしのさんの方法をやってみてうまくできるようでしたら
その方法で行きたいと思います。

編集 削除