Cтраница 2
Вызов функции SetCapture класса CWnd приводит к захвату мыши, и все последующие ее сообщения передаются в окно представления, пока захват не будет отменен. Таким образом, окно представления полностью контролирует мышь в процессе рисования линии. Значение переменной m Dragging устанавливается равным 1, что информирует других обработчиков сообщений о выполнении операции рисования. [16]
![]() |
Окончательный вид диалогового окна мастера ClassWizard при создании обработчика сообщения WM LBUTTONDOWN. [17] |
Если указатель находится в окне представления, то после нажатия левой кнопки мыши управление будет передано функции OnLButtonDown, а параметр point будет содержать текущую позицию указателя. Переменная m PointOrigin хранит координаты начальной точки линии. Переменная m Pointold, как вы скоро увидите, используется другими обработчиками сообщений для получения информации о положении указателя мыши в момент предыдущего сообщения. [18]
Если исключение генерируется в любом месте программы, следующем за оператором try ( или внутри любой функции в этом блоке), то управление передается за пределы блока. Если за try следует подходящий блок catch, то управление переходит к нему. Блок catch начинается с объявления в круглых скобках. Если тип параметра в этом объявлении совпадает с типом значения в операторе throw, генерирующем исключение, то управление передается данному блоку catch. При несовпадении типов параметров программа ищет другой обработчик, как показано ниже. Таким образом операторы try и catch предотвращают завершение программы стандартным обработчиком исключений. [19]