モードレス表示したフォームの移動範囲制御について


hanako  2011-09-22 22:51:06  No: 103053

開発環境;WindowsXP VB2008
MainFormからForm1をモードレスで表示しています。
このForm1の移動範囲を、MainForm内のパネル領域の範囲内に制御する処理を作成したいと奮闘しています。
今までに、パネルやForm1のスクリーン座標を取得しForm1の[Move]や[LocationChanged]イベントに、パネル領域からはみ出した場合Form1の配置座標をパネルの座標に設定する処理を試みましたが、ちらつきが発生して思った動きができませんでした。
また、或るTipsを参考に「WndProc」をOverridesして「WM_MOVING」メッセージを処理し、同じような処理を試みたのですがやはり思ったようにできませんでした。
どなたか良い方法をご存知ないでしょうか?


魔界の仮面弁士  2011-09-22 23:43:29  No: 103054

> VB2008
ここは VB2-VB6 専用の掲示板です。
VB.NET の場合は隣の掲示板をご利用ください。

> MainForm内のパネル領域の範囲内に制御する処理を作成したいと奮闘しています。
Panel1.Controls.Add( 別フォーム ) では駄目でしょうか?
http://dobon.net/vb/dotnet/form/formwithinform.html


hanako  2011-09-23 02:28:59  No: 103055

すみません書込み先を間違えていました。
Panel1.Controls.Add(Form1) も試してみたのですが、パネルの外へはみ出した部分が消えてしまいます。
できれば、Form1のサイズはそのままでパネルの内側だけで移動できるような仕組みにしたいのですが・・・

お詫び・・・
あわててVBのページに書き込んでしまいました。済みませんでした。
改めて、Netのページに投稿させていただきます。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加