WindowStateを最大化にした画面のタイトルバーをダブルクリックして画面の移動ができないようにするには?

解決


ケイ  2002-05-30 02:42:43  No: 75656

WindowStateを最大化にしたフォームでタイトルバーをダブルクリックすると、
画面が移動できるようになってしまいます。

タイトルバーは表示しておきたいので、BorderStyleを「0−なし」にはしたくありません。

ダブルクリックしても画面も移動できないようにする方法はないのでしょうか?

VB6.0+サービスパック5で開発しています。


たかみちえ  URL  2002-05-30 09:29:30  No: 75657

フォームのMoveAbleプロパティでとめられるかも。

  だめだったら…、SetWindowLongでサブクラス化して、
WM_MOVEを隠す…とかでどうでしょうか?


ケイ  2002-05-30 19:22:30  No: 75658

返信ありがとうございます。

MoveAbleはfalseに設定してあったので、だめみたいでした。

SetWindowLongでサブクラス化して、WM_MOVEを隠すという方法が
よく分からなくて・・・。
もしよろしければ教えていただけますか?


Say  2002-05-31 01:58:57  No: 75659

サブクラス化については、
vbvbvb.comやらPCDNやらSAK図書館やら
あちこちでサンプルが見つかりますが、
十分に理解してから実行してください。


ケイ  2002-06-01 18:45:04  No: 75660

サンプルが色々見つかりました。
参考にさせてもらったのですが、難しいですねー。

実はやってみたのですがうまくいかなくて、結局
BorderStyleを固定(実線)にしてWindowStateを標準にし、
ソースの中で座標とフォームの大きさをスクリーンサイズにすることになりました。

たかみちえさん、Sayさん、ありがとうございました。


ぽり  2002-06-01 20:45:45  No: 75661

Private Sub Form_Resize()
    Me.WindowState = 2
End Sub

こんなんダメですよね・・・。


ケイ  2002-06-03 19:46:40  No: 75662

ぽりさん返事が遅くなって申し訳ありません。

それも話にでたんですが、さすがにビヨ〜ンって感じになるじゃないですか。
だから無理だねーって話になったんです。

ありがとうございました。


たかみちえ  URL  2002-06-04 00:50:42  No: 75663

いまおもいついたんですけど、
キャプションを空っぽに、ControlBoxをけして、枠だけあるタイトルバーなしのウィンドウを作り、
上にはタイトルバーもどきを作る…でもいいですね。


ケイ  2002-06-04 18:21:43  No: 75664

>キャプションを空っぽに、ControlBoxをけして、
>枠だけあるタイトルバーなしのウィンドウを作り、
>上にはタイトルバーもどきを作る…でもいいですね。

なるほど。そーいうことでもできるんですねー。
私はVBを扱うのは初めてで今回の仕事に入る2週間くらい前に
勉強をして仕事にはいったんです。
まだまだ不勉強な為に効率のいい方法とかどうやったらできるのか
といった事を思いつきにくくて・・・・。

ありがとうございました。では。


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

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






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