MDIのアプリケーションを作成しています。
子画面の最大サイズをWMMINMAXINFOで設定しました。
最大サイズの状態で、
ウィンドウの左端を掴んでサイズ変更すると、
画面が移動してしまいます。
移動させない方法は、ないでしょうか。
宜しくお願いいたします。
レスをいただけないので、詳細を書き込みます。
ウィンドウで、タイトルバーを掴んだときに
WM_MOVEが発生します。
左端と、右上を掴んだときにも
WM_MOVEが発生します。
これを発生させなくするといいと思うのですが、
ご存知の方がいらっしゃったら、レスをお願いします。
こちらの過去ログですが、
https://www.petitmonte.com/bbs/answers?question_id=1765
にあるように、WM_MOVEは移動開始では受け取れないときがあるので、WM_NCLBUTTONDOWNやWM_NCMOUSEMOVEを捕まえてタイトルバーのドラッグのときにウインドウが最大サイズだったら移動しないようにするのはどうでしょうか。
たぶん、かなりめんどくさいんじゃないかとおもひます。
WM_MINMAXINFOを使わず、WM_WINDOWPOSCHANGING の処理で、
最大・最小サイズ、及び上位置・左位置の調整を行うようにしたら
どうでしょう?
単なるウインドウ移動なのか、サイズ変更を伴う位置移動なのか等、
判断要素は複雑になると思いますが・・・
ツイート | ![]() |