Постоянный посыл сообщения WM_MOUSEMOVE

243
21 апреля 2017, 21:20

Приветствую. Есть задача: при движении мыши в окне должен двигаться статик внутри данного окна. По неизвестной мне причине сообщение WM_MOUSEMOVE отрабатывает постоянно если курсор мыши находится в окне, но при этом не двигается. Сам статик, как и диалоговое окно, созданы в ресурсах проекта. Проверялось на 2-х ноутбуках где программно отключался тачпад и отсоединялась мышь. Сам код:

BOOL CALLBACK DlgProc(HWND, UINT, WPARAM, LPARAM);
void GetStaticRect(HWND hWnd, RECT &rect);
int WINAPI _tWinMain(HINSTANCE hInstance, HINSTANCE hPrevInst, LPTSTR lpszCmdLine, int nCmdShow)
{
    return DialogBox(hInstance, MAKEINTRESOURCE(IDD_MAINDIALOG), NULL, DlgProc);
}
HWND hStatic;
RECT rect;
BOOL CALLBACK DlgProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
{
    switch (message)
    {
    case WM_CLOSE:
        EndDialog(hWnd, 0);
        return TRUE;
    case WM_INITDIALOG:
        hStatic = GetDlgItem(hWnd, IDC_RUNNINGSTATIC);
        return TRUE;
    case WM_MOUSEMOVE:    
        GetStaticRect(hWnd, rect);
        MoveWindow(hStatic, rect.left + 1, rect.top, rect.right - rect.left, rect.bottom - rect.top, TRUE);
        return TRUE;
    }
    return FALSE;
}
void GetStaticRect(HWND hWnd, RECT &rect)
{
    GetWindowRect(hStatic, &rect);
    POINT p;
    p.x = rect.left;
    p.y = rect.top;
    ScreenToClient(hWnd, &p);
    rect.left = p.x;
    rect.top = p.y;
    p.x = rect.right;
    p.y = rect.bottom;
    ScreenToClient(hWnd, &p);
    rect.right = p.x;
    rect.bottom = p.y;
}

Прошу помочь с нахождением ошибки. Благодарю за внимание.

READ ALSO
Подскажите, где ошибка в шаблоне, С++ [дубликат]

Подскажите, где ошибка в шаблоне, С++ [дубликат]

На данный вопрос уже ответили:

198
Записать и считать обьект в файл С++

Записать и считать обьект в файл С++

Здравствуйте, имеется массив обьектов static vector<MobilePhone*> devices;Как можно записать все что внутри в бинарный файл, чтобы при повторном запуске...

209
Двухнаправленный список

Двухнаправленный список

В списке нужно поменять местами второй элемент и максимальныйЯ сделал, но надо упростить код

203
FadeIn текста в slick каруселе

FadeIn текста в slick каруселе

Доброй ночи, дорогие друзьяИспользую slick carousel

298