ウインドウ内のコントロールの領域・サイズをユーザー緒操作で変化させる方法。

解決


mady  2003-12-06 03:01:47  No: 110511  IP: [192.*.*.*]

タイトルでは分かりにくいと思いますが、
よく、アプリケーションで、コントロール同士の
境界線あたりにマウスを持ってくると、カーソルが
サイズ変更カーソル「←→(こんなの)」に変わり、
「ウニョー」とドラッグをすると、サイズが
変わるモノがありますが、アレをやりたいと思っています。

コントロールの位置とサイズを計算で求めなくてはならない
ということはだいたい分かっているのですが、
その前に、「ウニョー」とドラッグして値を取得する方法
というかコントロールになると思いますが、それが見つけられませんでした。

また、モノによっては、ドラッグ中に動的にサイズが変わるものもありますよね。
あれってどうやっているのでしょうか?

コントロールの名前がわからないだけに検索もできなかったので…
よろしくお願いします。

VB6です。

編集    削除
魔界の仮面弁士  2003-12-06 04:54:38  No: 110512  IP: [192.*.*.*]

新規プロジェクトの作成時に、標準EXEプロジェクトではなく、
アプリケーションウィザードを使ってみてください。

その上で、[エクスプローラ スタイル]を選択すれば、
『ウニョー』なコードが出来上がりますので、それを
ユーザーコントロール化して使うと良いでしょう。

編集    削除
さわ  2003-12-06 06:52:14  No: 110513  IP: [192.*.*.*]

VBにはDelphiのSpliterみないなコントロールってないんでしたっけ?
質問返しでごめんなさい。

編集    削除
mady  2003-12-08 19:49:59  No: 110514  IP: [192.*.*.*]

VB6には無いみたいですね…Splitter。
あると思っていたのですが。
ちなみに.netでは標準で使えるみたいですね。
(使い方よく分かりませんが…)

とにかく、力ずくでやるしかないということが分かり、
また、力づくでやる方法もだいたい分かりました。
ありがとうございました。

編集    削除
特攻隊長まるるう  2003-12-08 21:29:23  No: 110515  IP: [192.*.*.*]

.NET での使い方です。
[VB.NET]
フォームを分割してコントロールのサイズを変更する分割コントロールは Splitter クラス
です。この時、コントロールの Dock プロパティ を変更します。
例えば TreeView を貼り付け Dock プロパティ を Left にします。
Splitter コントロールを貼り付け、Dock プロパティ を Left (既定値)にします。
ListView を貼り付け Dock プロパティ を Fill にします。
これでエクスプローラっぽい動きになると思います。

編集    削除