- ベストアンサー
VB2005ExpressEditionでExcelの作業ウィンドウのような実装をしたい
VB2005ExpressEditionでExcelの作業ウィンドウのような実装をしたいと考えています。 ツールバー等を生かして実装できないかと試みましたが内に自由にコントロールを配置できないため行き詰まっています。 詳細は この実装を行うフォームはMDIの親フォームである フォームの左端に実装する 作業ウィンドウのように別の場所に移動できなくても良い 横幅の変更はできるようにしたい この実装の内には自由にコントロールを配置したい 中に配置したコントロールはこの実装の横幅の変更に追随してほしい コントロールの自作はできれば避けたい です。 よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
> スプリッターの幅を実行中に変更できるようにする事 実行時に「スプリッターの幅」を変更しても無意味なのでは??? スプリッターの幅を変更しても、 サイズ変更用領域(マウスポインタの形が変わるエリア)の範囲が広がるだけですよね・・・ > パネルの親コンテナをスプリッターにする事 そんな必要は無いと思いますが・・・ > (スプリッターの幅を実行中に変更したときにパネルの幅を追随させたい) Dockが適切なら、何のコードも書かなくても、パネルのサイズ変更できると思いますけど・・・ #勝手に変更してくれる。 実行時にスプリッターの上にマウスを持っていくと、マウスポインタの形が左右の矢印に変わりませんか? その状態で、ドラッグすれば、パネルの大きさも追従すると思いますけど・・・
その他の回答 (2)
- dsuekichi
- ベストアンサー率64% (171/265)
> 子ウィンドウが重ならない領域にする方法 コレはどういう機能です? #Excelの作業ウィンドウにそういう機能がありましたっけ? > 実行中にドラッグしたときに動かせるようにする方法 これも、どういう機能です? > PanelにSpliterを配置するはできましたが・・・ Panelに配置しても意味ありません。 > MDIの親ウィンドウににSpliterを配置する。 にすれば、勝手に機能すると思いますが・・・ #当然、Dockはちゃんと設定しなくてはなりませんけど。 > 作業ウィンドウのように別の場所に移動できなくても良い ってことですから、フローティングの機能じゃないんですよね?
補足
ごめんなさい。舌足らずになっていました。 >#Excelの作業ウィンドウにそういう機能がありましたっけ? >Panelに配置しても意味ありません。 子ウィンドウを親ウィンドウの中で最大化したときに作業ウィンドウに相当する部分の下に子ウィンドウが重なってしまうのです。 これはパネルにスプリッターを配置していたためです。 私が正しくない事をしていただけのようです。 >> MDIの親ウィンドウににSpliterを配置する。 >にすれば、勝手に機能すると思いますが・・・ >#当然、Dockはちゃんと設定しなくてはなりませんけど。 > 実行中にドラッグしたときに動かせるようにする方法 この関連の部分の私の記述が完全に混乱してしまっています。 ごめんなさい。 できるようになっていること。 スプリッターを配置する デザイナの上でスプリッターの幅を変える したいけれどできていないこと スプリッターの幅を実行中に変更できるようにする事 パネルの親コンテナをスプリッターにする事(スプリッターの幅を実行中に変更したときにパネルの幅を追随させたい) です。 よろしくお願いします。
- dsuekichi
- ベストアンサー率64% (171/265)
普通に、Panelコントロール(とSpliterコントロール)を、MDIの親フォームに配置するのでは駄目なんでしょうか?
補足
MDIの親ウィンドウににSpliterを配置する。 PanelにSpliterを配置するはできましたが・・・ 子ウィンドウが重ならない領域にする方法や実行中にドラッグしたときに動かせるようにする方法がわかりません。 詳しくSpliterの使い方の解説をお願いします。
お礼
>Dockが適切なら、何のコードも書かなくても、パネルのサイズ変更できると思いますけど・・・ あ。はい。うまくいきました。 ありがとうございます。 なにぶんロジックはできてもコントロールには弱くて・・・ 申し訳ないです。