69270

Обробка подій миші

Лекция

Информатика, кибернетика и программирование

У цьому розділі розглядаються способи організації введення даних за допомогою миші і клавіатури. У першому розділі описується стандартна система введення даних, використовувана операційною системою Windows для контролю стану введення (input state).

Украинкский

2014-10-02

43 KB

0 чел.

Лекція № 12

Тема: Обробка подій миші

План

  1.  Події
  2.  Введення за допомогою миші
  3.  Створення обробників повідомлень миші

Події

У цьому розділі розглядаються способи організації введення даних за допомогою миші і клавіатури. У першому розділі описується стандартна система введення даних, використовувана операційною системою Windows для контролю стану введення (input state). Тут також приділяється увага розгляду концепції локального стану введення (local input state), вперше реалізованого в операційній системі Windows NT і використовуваного тепер у всіх 32-розрядних версіях Windows.

Потім розглядається введення за допомогою миші. Завдяки бібліотеці базових класів Microsoft (MFCMicrosoft Foundation Classes) часи низькорівневої коди обробки подій миші залишилися у далекому минулому (безумовно, якщо у розробника достатньо вільного часу, він може дозволити собі і таку розкіш). У даному розділі описуються методи MFC, забезпечуючий контроль і маніпулювання мишею, а також розглядаються такі питання, як зовнішній вигляд (форма) курсора миші, захоплення миші і обмеження переміщення курсора миші.

І на закінчення розглянемо способи, що дозволяють додатку використовувати введення з клавіатури. Застосовуючи такі елементи призначеного для користувача інтерфейсу, як поле введення, можна надати Windows і MFC можливість самостійно виконувати всі завдання по обробці введення з клавіатури. Проте достатньо часто буває необхідний жорсткіший контроль над подіями клавіатури. В ході обговорення цієї теми торкнуться такі поняття, як фокус введення з клавіатури (keyboard focus), текстовий курсор (точка введення) (keyboard cursor (insertion point)), стан виділення (selection state) і багато інших елементів конструкції призначеного для користувача інтерфейсу, пов'язані з введенням з клавіатури.

Для більшості програмістів, загартованих розробкою застосувань, що не мають відношення до Windows, управління подіями, характерне для операційної системи Windows, складає певну проблему, коли вони вперше приступають до розробки подібних застосувань. У контексті обробки призначеного для користувача введення термін керований подіями (event-driven) означає, що при кожному натисненні користувачем клавіші або клацанні мишею замість коди опиту, відповідного натисненню клавіш або клацанню мишею, операційна система передає додатку повідомлення Windows {WMwindows message). Бібліотека MFC співвідносить (map) повідомлення Windows з функціями C++, званими обробниками повідомлень (message handler). Оператори, оброблювальні дані, що вводяться в додаток, розташовані саме в цих функціях-обробниках повідомлень. У попередньому розділі розглядалися обробники повідомлень меню, а в справжньому розділі поговоримо про обробників повідомлень подій миші і клавіатури. Спочатку розглянемо стан введення миші, а потім і клавіатури.

Введення за допомогою миші

Як вже мовилося, Windows повідомляє вікна програм про дії користувача, сылая ним повідомлення, що зберігаються в апаратній черзі введення (input queue). Табл. містить список основних повідомлень Windows для миші, обробники яких використовують ця для організації реакції на дії користувача.

Таблиця. Повідомлення Windows для миші

Повідомлення

Причина повідомлення

WM_LBUTTONDOWN

Ліва кнопка миші нажата1 (курсор знаходиться в клієнтській області вікна)

WM_LBUTTONUP

Ліва кнопка миші відпущена

WM_RBUT TON DOWN

права кнопка миші натиснута (курсор знаходиться в клієнтській області вікна)

WM_RBUTTONUP

Права кнопка миші відпущена

WM_MBUTTONDOWN

Середня кнопка миші натиснута (курсор знаходиться в клієнтській області вікна)

WM_MBUTTONUP

Середня кнопка миші відпущена

WM_MOUSEMOVE

Курсор миші переміщається в клієнтській області вікна

Імена повідомлень починаються з префікса WM (Windows Message), вказуючого, що це повідомлення Windows.

Створення обробників повідомлень миші

Обробник повідомлень може бути створений в представленні Class View (Класи). Тепер створимо обробник повідомлення миші, який дозволить відстежувати (і відображати на екрані) переміщення курсора миші в клієнтській області вікна. Для цього необхідно зробити наступне.

1. Створіть проект додатку однодокументного інтерфейсу під назвою HandlerTest.

2. У представленні Class View (Класи) клацніть правою кнопкою мыщи на класі CHandlerTestView і в контекстному меню, що з'явилося, виберіть пункт Properties (Властивості).

3. Клацніть на піктограмі Messages (Повідомлення), розташованій у верхній частині діалогового вікна Properties. Середовище розробки Visual Studio відобразить в діалоговому вікні Properties всі повідомлення, які може отримувати вікно цього класу.

4. Знайдіть елемент WM_MOUSEMOVE І клацніть на нім. Це приведе до додавання в клас функції-члена на ім'я OnMouseMove.

5. Додайте в код функції OnMouseMove наступні рядки.

CClientDC ClientDC( this );

CString strlnfo;

strlnfo.Format( "Current Mouse Position = X:%d Y:%d"

point.x, point.у ) ;

CLIENTDC.TextOut(10, 10, strlnfo, strlnfo.GetLength() );

6. Відкомпілюйте і запустіть додаток. При переміщенні миші в клієнтській частині вікна на екрані відображатимуться координати її курсора.

 


 

А также другие работы, которые могут Вас заинтересовать

29907. Роль Федерального бюджета в решении социальных проблем общества 17.21 KB
  Роль Федерального бюджета в решении социальных проблем общества. Роль государственного бюджета прежде всего состоит в том что бюджет создает финансовую базу необходимую для финансового обеспечения деятельности государственных органов и органов местного самоуправления. С помощью бюджета реализуются общегосударственные и региональные программы социальноэкономического характера. Роль государственного бюджета в социальноэкономическом развитии общества заключается в следующем: 1.
29908. Инвестиционные качества ценных бумаг. Доходность и риск в оценке их эффективности 16.3 KB
  Ценные бумаги 1 это специальным образом оформленные финансовые документы в которых зафиксированы права их владельца или предъявителя; 2 документы содержащие какоелибо имущественное право реализация которого возможна только при условии их предъявления акции облигации векселя и др. Ценная бумага как и любая вещь обладающая стоимостью и не изъятая из оборота характеризуется рядом существенных показателей определяющих цену указанной бумаги а точнее стоимость прав предоставляемых данным предметом своему владельцу....
29909. Финансовое планирование и бюджетирование 14.21 KB
  В процессе финансового планирования одновременно обосновываются рациональные отношения стоимостные пропорции движение финансовых ресурсов и на этой основе определяются финансовые показатели на плановый период. Цели финансового планирования на предприятии зависят от выбранных критериев принятия финансовых решений к которым относятся: максимизация продаж; максимизация прибыли; максимизация собственности владельцев предприятия. Основным результатом стратегического планирования является стратегический план организации. Бизнесплан...
29910. Роль финансов в политике международного экономического сотрудничества 14.89 KB
  Финансовый механизм складывающийся в сфере международных экономических связей выступает орудием реализации финансовой политики государства в области международного сотрудничества России. Функционируя в международной сфере финансы оказывают влияние на экономические интересы участников международных связейвыступают как стимул развитя международной экономической интеграции. Роль финансов в развитии международных свяезй проявляется по трем напровлениям: Изыскание источников и мобилизация необходимых финансовых ресурсов для финансирования...
29911. Виды инвестиций и методы финансирования инвестиционной деятельности 41 KB
  Основными методами финансирования инвестиционных проектов являются: самофинансирование т. осуществление инвестирования только за счет собственных средств; акционирование а также иные формы долевого финансирования; кредитное финансирование инвестиционные кредиты банков выпуск облигаций; лизинг; бюджетное финансирование; смешанное финансирование на основе различных комбинаций этих способов; проектное финансирование метод финансирования характеризующийся особым способом обеспечения возвратности вложений в основе которого...
29912. Взаимодействие финансового и операционного рычагов 38 KB
  Взаимодействие финансового и операционного рычагов Соотношение затрат для заданного объема продаж одним из вариантов измерения которого является отношение маржинального дохода к прибыли получило название операционного рычага. Показатель операционного рычага позволяет достаточно быстро без подготовки полного отчета о прибылях и убытках определить как повлияют изменения объема продаж на прибыль компании. Чтобы выяснить на сколько процентов изменится размер прибыли следует процентное изменение объема продаж умножить на уровень...
29913. Организация и пути повышения эффективности государственного финансового контроля 35 KB
  Организация и пути повышения эффективности государственного финансового контроля Финансовый контроль это способ соблюдения нормативноправовых норм хозяйствующими субъектами. Правильное понимание сущности и значения государственного финансового контроля важно по многим причинам. Невозможно добиться укрепления финансовой дисциплины без строгого и эффективного государственного финансового контроля. Особую значимость он приобретает при переходе к рыночной экономике когда проявляются неизвестные ранее изощренные приемы финансовых нарушений...
29914. Система управления рисками российских банков и её совершенствование 20.76 KB
  Система управления рисками российских банков и её совершенствование. К сожалению уровень управления основными параметрами банковской деятельности не столь высок как это требуется для экономики в то время как стабильное и устойчивое функционирование кредитного учреждения в экономике страны зависит от качества управления банками своей ликвидностью; формированием капитальной базы; согласования процентной политики по активным и пассивным операциям; умения организовать свою работу и обеспечить высокую конкурентоспособность на рынке...
29915. Основные направления стратегического менеджмента 12.9 KB
  Разработка стратегии достижения целей деятельности. Реализация стратегии организации. Оценка эффективности стратегии по результатам деятельности организации и введение корректирующих воздействий. С другой стороны целеполагание и выбор стратегии в свою очередь стимулируют дальнейшее развитие концептуальных представлений о месте фирмы в бизнесе основных направлениях ее деятельности принципиальных установках стандартах поведения и пр.