>そのはずです<ドラッグで移動ではない
>
>ので、なんでうまくいってるのでしょう?
前にも書いたとおり、
いきなりマウスカーソルを画面の外まですっ飛ばすとか(WM_MOUSEMOVEが突然消える)、
メニューの[移動(M)]項目の表示位置がメインウィンドウの外にはみ出ている
とかの状況が無ければ追尾できるでしょう。
画面を思い切り小さくして実験すれば追尾できない状況を容易に発現させることが
できるかもしれません。
あぁ、ごめんなさい
・ウィンドウタイトルで左ボタンプレスする
・右ボタンプレスする
・左ボタンリリースする
・右ボタンリリースする
です
みなさま、やっとできました。
ScreenToClient()を使ってクライアント座標に変換したらうまくいきました。
みなさまに教えていただいてとても勉強になりました。
まだまだ未熟者ですが、頑張りたいと思います。
ありがとうございました。
void CMainFrame::OnMouseMove(UINT nFlags, CPoint point)
{
if(m_bMoving == TRUE)
{
CPoint point;
::GetCursorPos(&point);
m_pointNew = point;
CRect rect;
GetWindowRect(&rect);
rect.left += (m_pointNew.x - m_pointOld.x);
rect.right += (m_pointNew.x - m_pointOld.x);
rect.top += (m_pointNew.y - m_pointOld.y);
rect.bottom += (m_pointNew.y - m_pointOld.y);
ScreenToClient(&rect);
SetWindowPos(&wndTopMost, rect.left ,rect.top ,
rect.right - rect.left, rect.bottom - rect.top,SWP_SHOWWINDOW);
}
CFrameWnd::OnMouseMove(nFlags, point);
}
> メニューの[移動(M)]項目の表示位置がメインウィンドウの外にはみ出ている
この場合、ウィンドウに触れた(?)途端に吸い付きますね。
メニュー項目がウィンドウ領域内に収まっているから上手く行っているんですかね。
普通に作るとウィンドウからはみ出すメニューっていうパターンは、そんなにないですから。
> たみあさん
面白そうなのでやってみたいのですが、出来ません。
コツを教えて下さい。
Win2000です。
>面白そうなのでやってみたいのですが、出来ません。
>コツを教えて下さい。
>Win2000です。
最初の発言は左右を取り違えてます
2つめの発言でできませんか?
こちらも、2000ですが。。。
> 最初の発言は左右を取り違えてます
> 2つめの発言でできませんか?
できません~(ToT)
マウスホイールがあるから出来ないのかな?
どんなアプリでも出来ますか?
プログラムと関係なくてすみません
あぁ、たびたびごめんなさいです
とあるマウス関連のユーティリティ(常駐もの)があるとなります
ノーマルではなりませんので、そのアプリの副作用です
お騒がせしました