最大化後画面移動ができてしまう


mariko  2001-07-05 12:21:57  No: 74587  IP: [192.*.*.*]

画面の最大化サイズを WM_GETMINMAXINFO 時に制限することはできたのですが、
画面が移動できてしまいます。タイトルバーを右クリックした時にでるメニュー内
は「移動」が選択できないようになってはいるのですが・・・。

最大化されたときに、画面の移動をできなくするには、
どのようにすればいいのでしょうか?
宜しくお願いいたします。

編集 削除
Say  2001-07-05 13:58:44  No: 74588  IP: [192.*.*.*]

単純にFormのBorderStyle = 0
じゃだめ?
タイトルバーいるなら、Labelにいろつけてごまかすとか・・・

編集 削除
mariko  2001-07-05 15:35:07  No: 74589  IP: [192.*.*.*]

Sayさんアドバイスありがとうございます。
複数の会社で多数の画面を開発するので、
できれば共通BASなどで処理できれば各画面の負担がなくて
いいのでは・・と思っていたのですが、
BorderStyleの設定で逃げたほうが、いいのかもしれませんね。

引き続き何かあれば、ご教授願います。

編集 削除
こころ  URL  2001-07-06 01:11:30  No: 74590  IP: [192.*.*.*]

ウィンドウスタイルを書き換えれば
確かうまくいけたようないけなかったような・・・。
すいません、あまり覚えてません。

とりあえず、SetWindowLong辺りで色々と試してみては?

編集 削除
mariko  2001-07-06 18:37:47  No: 74591  IP: [192.*.*.*]

こころさんアドバイスありがとうございます。
色々調べているのですが、成果が出ません (><)
何かあれば、教えて下さい m(_ _)m

編集 削除
こころ  URL  2001-07-07 00:51:15  No: 74592  IP: [192.*.*.*]

すいません、嘘付いてました。
不可にできたのはサイズ変更でした。

WM_MOVE,WM_MOVINGとかを無効にするだけでは
ダメなんでしょうか?

編集 削除
mariko  2001-07-09 10:40:50  No: 74593  IP: [192.*.*.*]

WM_MOVE,WM_MOVINGとかを無効にする方法ってご存知でしょうか?
私の勘違いかもしれませんが、
WM_MOVE,WM_MOVINGなどのメッセージが取得できた時には
既に画面は移動されていているのではないでしょうか?

編集 削除
PAPY  2001-07-09 12:38:31  No: 74594  IP: [192.*.*.*]

WM_MOVE
 message is sent after a window has been moved. 
WM_MOVING 
 mmessage is sent to a window that the user is moving. By processing this message, an application can monitor the size and position of the drag rectangle and, if needed, change its size or position.

編集 削除
こころ  URL  2001-07-09 21:41:14  No: 74595  IP: [192.*.*.*]

なんだか無理っぽいですね。
嘘ついてばっかで申し訳ないです。
spyではメッセージがでるのに
サブクラス化してもメッセージがとれないのは
何故なんだろう・・・。

解決策ですがWM_NC系で判定する、ってのは
ダメでしょうか。
移動動作をさせなくしちゃうと。

編集 削除