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

Перед тем, как взглянуть на


       зователя и вернитесь в нее в другом месте.  Чтобы уменьшить число
       сообщений,  просто  переместитесь  вовне и снова вернитесь назад,
       затем освободите левую кнопку "мыши",  чтобы управление вернулось
       в TDW.
            Перед тем, как взглянуть на окно Windows Messages (Сообщения
       Windows),  увеличьте его до полного размера (клавишей F5), благо-
       даря чему вы сможете видеть больше сообщений. Когда вы посмотрите
       на нижнюю область окна Windows Messages, то увидите множество со-
       общений WM_NCHITEST и WM_SETCURSOR, среди которых будет сообщение
       WM_LBUTTONDOWN, WM_MOUSEMOVE, после них будет несколько сообщений
       WM_NCMOUSEMOVE, далее еще сообщения WM_MOUSEMOVE и, наконец, зак-
       лючительное сообщение WM_LBUTTONUP.
            Похоже, что когда курсор не находится в области  пользовате-


       ля,  то  сообщения WM_MOUSEMOVE не поступают,  а поступают только
       сообщения WM_NCMOUSEMOVE.
            Теперь яcно, что представляет собой ошибка. Программа рисует
       от  точки последнего сообщения WM_MOUSEMOVE до точки текущего со-
       общения WM_MOUSEMOVE. Когда "мышь" выходит из области пользовате-
       ля,  программа не получает сообщений WM_MOUSEMOVE. Таким образом,
       когда "мышь" возвращается в область пользователя,  последней точ-
       кой будет та точка,  где она покинула экран, и программа ошибочно
       рисует линию от точки выхода за пределы экрана до  текущей точки.
                             Исправление ошибки
       -----------------------------------------------------------------

       TDeb 3.0 #3-3                = 80 =
            Одним из  возможных  решений  могло бы быть определение того
       места, где "мышь" выходит за область пользователя, благодаря чему
       программа  сможет  игнорировать  последнюю позицию "мыши" и снова
       начать рисование,  когда "мышь" возвращается в область  пользова-

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