我正在设计自定义窗口边框,并在顶部放置了一个位图作为拖动栏。这个方案是可行的,但当我尝试拖动窗口时,它会分别放置在两个不同的区域并在两者之间闪烁。以下是视频链接:http://dl.dropbox.com/u/85700751/capture-1.avi。当窗口闪烁时,我正在尝试拖动它(由于某种原因,它没有显示我的光标)。以下是我的拖动代码:
case WM_LBUTTONDOWN: {
int posX = LOWORD(lParam);
int posY = HIWORD(lParam);
if((isDragging==false)&&(posX>4)&&(posX<470)&&(posY>4)&&(posY<24))
{
isDragging = true;
ClipCursor(rect);
oldCursorX = posX;
oldCursorY = posY;
}
}
break;
case WM_LBUTTONUP: {
isDragging = false;
ClipCursor(NULL);
}
break;
case WM_MOUSEMOVE: {
if(isDragging) {
SetWindowPos(hWnd, NULL, LOWORD(lParam)-oldCursorX, HIWORD(lParam)-oldCursorY, 500, 500, NULL);
}
}
break;