Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

как заставить обновлять окно дл яновой прорисовки

38K
05 сентября 2008 года
gloft
5 / / 28.08.2008
подскажите в чем я неправ и где ошибся
событие подключения нового устройства я фиксирую но вот перерисовать окно неполучается
Код:
bool inUSB = false;
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam){
    int wmId, wmEvent;
    PAINTSTRUCT ps;
    HDC hdc;

    switch (message){
        case WM_DEVICECHANGE:  
            switch (wParam){
                case DBT_DEVICEARRIVAL:
                    inUSB = true;      
                    UpdateWindow(hWnd);
                    break;
                case DBT_DEVICEREMOVECOMPLETE:
                    inUSB = false;
                    break;
            }
            break;
        case WM_PAINT:
            hdc = BeginPaint(hWnd, &ps);
            if (inUSB){
                Ellipse(hdc, 10, 10, 100, 100);
            }else {
                Ellipse(hdc, 10, 10, 100, 200);
            }
            EndPaint(hWnd, &ps);
            break;
        case WM_DESTROY:
            PostQuitMessage(0);
            break;
        default:
            return DefWindowProc(hWnd, message, wParam, lParam);
    }
    return 0;
}
342
05 сентября 2008 года
Yos
209 / / 21.06.2003
в обработке WM_DEVICECHANGE (желательно не только по wParam) делается:

InvalidateRect(hWnd,NULL,TRUE);
UpdateWindow(hWnd);

Иначе перерисовывать как бы нечего, а так задается область, в случае NULL вся область окна...
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог