- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:Windowをドラッグ移動したい)
Windowをドラッグ移動したい
このQ&Aのポイント
- Windowをドラッグ移動するためのコードを紹介します。
- マウスがクライアント領域からはずれると正常に動作しない場合があります。
- 素早く動かすとタイトルバーをドラッグ移動したときのように動作しない場合があります。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
私も同じ悩みを持ったことがありまして以下の手で対策しました。 以下のコードをOnMouseDownイベントに書きます。これで自由に動かすことが出来ます。 ReleaseCapture(); SendMessage(Handle, WM_SYSCOMMAND, SC_MOVE+2, 0); 以上、ご参考になれば幸いです。
お礼
ありがとうございました 以下のようにしたらほとんどクライアントからはずれなくなりました case WM_MOUSEMOVE: if(wP==MK_LBUTTON) { if(0<=i_x && 0<=i_y) { GetWindowRect(hW,&rt); MoveWindow (hW, rt.left+LOWORD(lP)-i_x, rt.top+HIWORD(lP)-i_y, rt.right-rt.left,rt.bottom-rt.top,1); } } else i_x=i_y=-1; return 0; case WM_LBUTTONDOWN: ReleaseCapture(); SendMessage(hW,WM_SYSCOMMAND,SC_MOVE+2,0); i_x=LOWORD(lP);i_y=HIWORD(lP); return 0;