Турбо отладчик (Turbo Debugger) 3.0

что окно следует обновить с 


       часть окна  недопустима,  с  помощью  вызова  InvalidateRect  или
       InvalidateRgn.  Эти  две  функции помещают в окно обновленную об-
       ласть и уведомляют Windows,  что окно следует обновить с  помощью
       сообщения   WM_PAINT.   Однако,   Windows  присваивает  сообщению
       WM_PAINT,  которое оно посылает в ответ на  эти  вызовы  функций,
       низкий приоритет, поэтому, если вы хотите, чтобы окно обновлялось
       немедленно, следует воздерживаться от вызова UpdateWindow.
                             Исправление ошибки
       -----------------------------------------------------------------
            Добавление в  WMRButtonDown  вызова  InvalidateRect устранит
       проблему.  Функция  InvalidateRect  воспринимает  три  параметра:
       идентифицирующий окно описатель окна,  указатель на прямоугольную
       область,  отмечающий требующий обновления прямоугольник,  и пара-


       метр типа Boolean, который определяет, следует ли стирать прямоу-
       гольную область.  В качестве параметра,  задающего  указатель  на
       прямоугольную  область,  вы можете передать значение nil,  указав
       Windows,  что к обновляемому прямоугольнику следует добавить  все
       окно.   В   следующем   исходном   коде  показано,  как  выглядит
       WMRButtonDown с несколькими добавленными вызовами функций:
            void ScribbleWindow::WMRButtonDown(RTMessages);
            {
               InvalidateRect(HWindow, NULL, TRUE);
               UpdateWindow(HWindow);
            }
                            Проверка исправления
       -----------------------------------------------------------------
            Запустите программу  ColorScribble  и выйдите из нее,  затем
       выйдите в TDW.  Когда вы вернетесь в Borland C++, внесите измене-
       ния в WMRButtonDown, затем перекомпилируйте программу и запустите

       TDeb 3.0 #3-3                = 84 =
       Глава 20. Отладка резидентных программ и драйверов устройств

Содержание раздела