[リストへもどる]
一括表示

投稿時間:2003/03/07(Fri) 07:13
投稿者名:たっくんパパ
Eメール:kissypapy@ma.akari.ne.jp
URL :
タイトル:
フォームの一体化
よくアプリケーションで見かけるものなんですが、例えばVBのツールボックスや
プロジェクトエクスプローラーみたいに可変ツールウインドウのようなサイズ・位置
変更可能なフォームで、親フォームの枠の近くに移動すると親フォームと一体化するような
ものを作成したいのですが、どのコントロールを使えばよいのか教えて下さい。
ひょっとして、通常のフォームの何か設定でできるのもなんでしょうか?
お願いします。

投稿時間:2003/03/10(Mon) 16:18
投稿者名:これ
URL :
タイトル:
Re: フォームの一体化
> よくアプリケーションで見かけるものなんですが、例えばVBのツールボックスや
> プロジェクトエクスプローラーみたいに可変ツールウインドウのようなサイズ・位置
> 変更可能なフォームで、親フォームの枠の近くに移動すると親フォームと一体化するような
> ものを作成したいのですが、どのコントロールを使えばよいのか教えて下さい。
> ひょっとして、通常のフォームの何か設定でできるのもなんでしょうか?
> お願いします。
こんにちは。
そのようなコントロールは無いと思います。
PictureBoxとSetParent APIを使った簡単なドッキングは
こちらにサンプルがありますので参考にされてはいかがでしょう?
私はこのサンプルを参考に作りました。
み〜くんパパの仕事部屋
http://www.mitene.or.jp/~sugisita/family/papa/vb/
VBサンプル.クラス
->Windowsコモンコントロール
-->ツールバーコントロール
--->ドッキングツールバー

ドラッグによるドッキングを実現されたいなら
たぶん、以下のような手順が必要だと思います。
申し訳ないですが、実行経験はありませんので詳細については不明です。
間違いや、他に簡単な方法があるかもしれません。

サブクラス化を行って、子フォームのタイトルバーの
移動メッセージをつかんでカーソルの位置がドッキング予定の
PictureBoxの位置(+有効範囲)にきたら、PictureBoxのサイズ変更
SetParent APIで子フォームの親ウィンドウをPictureBoxに変更しドッキング。
(このままだとPictureBoxの中で子フォームが動いてしまうはずなので)
以降のキャプションの移動メッセージの握りつぶし指定等を行う必要が
あると思います。
同時にタイトルバーを消してしまえばそんなことはないはずですが。
ドッキング解除は子フォームのドラッグで、カーソルがPictureBoxの
有効範囲外にきたらSetParentで親ウィンドウの解除等
ドッキングの逆の操作が必要になってくると思います。

もし、ドラッグでのドッキングが実現できたら
是非、その手順を教えてくださいね。

投稿時間:2003/03/11(Tue) 01:22
投稿者名:たっくんパパ
Eメール:kissypapy@ma.akari.ne.jp
URL :
タイトル:
Re^2: フォームの一体化
> 私はこのサンプルを参考に作りました。
> み〜くんパパの仕事部屋
> http://www.mitene.or.jp/~sugisita/family/papa/vb/

これさん、ありがとうございます。
まったく分からなかった問題の糸口になりそうです。