- Win32API質問箱 Build11 [転載禁止]©2ch.net
797 :789[sage]:2015/03/25(水) 19:26:21.64 ID:kbD8DHre - さらなる検証の結果、不意に飛んでくるMOUE_MOVEは常に座標が変化しないという結論になり、
初期化部分とウインドウリサイズのハンドラで変数に座標(-1,-1)を設定し、 WM_MOUSEMOVE側で常に比較しながら変数を上書きし、 差分がゼロの場合に無視するという処理で自己解決しますた。 MFCとかだとこういう感じ。 インスタンス変数を定義: privete: CPoint lpos; 初期化: OnInitialUpdate() { lpos = CPoint(-1, -1); } OnResize() { lpos = CPoint(-1, -1); } マウスイベント: case WM_MOUSEMOVE: { int x = LOWORD(lp), y = HIWORD(lp); CPoint xy = CPoint(x, y); if (xy == lpos) return 0; lpos = xy; int ypos = y / fsize; MoveMark(ypos); }
|