Понятие фокуса ввода


Клавиатура должна разделяться между всеми приложениями, работающими под Windows.

  • Некоторые приложения могут иметь больше одного окна, и клавиатура должна разделяться между этими окнами в рамках одного и того же приложения.

Когда на клавиатуре нажата клавиша, только одна оконная процедура может получить сообщение об этом. Окно, которое получает это сообщение клавиатуры, является окном, имеющим фокус ввода.

  • Концепция фокуса ввода тесно связана с концепцией активного окна.

Окно, имеющее фокус ввода – это либо активное окно, либо дочернее окно активного окна. Определить активное окно достаточно просто:

  • если у активного окна имеется панель заголовка, то Windows выделяет ее;
  • если у активного окна вместо панели заголовка имеется рамка диалога, то Windows выделяет ее;
  • если активное окно минимизировано, то Windows выделяет текст заголовка в панели задач.

Наиболее часто дочерними окнами являются кнопки, переключатели и другие элементы управления, которые обычно присутствуют в окне диалога.

Сами по себе дочерние окна никогда не могут быть активными. Если фокус ввода находится в дочернем окне, то активным является родительское окно этого дочернего окна. То, что фокус ввода находится в дочернем окне, обычно показывается посредством мигающего курсора (для полей редактирования), рамки вокруг надписи на кнопке (для кнопок) или другими привлекающими внимание пользователя средствами.

Если активное окно минимизировано, то окна с фокусом ввода нет. Windows продолжает слать программе сообщения клавиатуры, но эти сообщения выглядят иначе, чем сообщения, направленные активным и еще не минимизированным окнам.

Обрабатывая сообщения WM_SETFOCUS и WM_KILLFOCUS, оконная процедура может определить, когда окно имеет фокус ввода. Сообщение WM_SETFOCUS показывает, что окно получило фокус ввода, а WM_KILLFOCUS – что окно потеряло его. В ответ на эти сообщения функция окна не может запретить получение или потерю фокуса ввода, так как эти сообщения носят чисто информирующий характер.

  • Программный интерфейс Windows содержит две функции, позволяющие узнать или изменить окно, владеющее фокусом ввода, – GetFocus и SetFocus.

Замечание.Когда пользователь в программе набирает текст, обычно маленький символ подчеркивания, маленький прямоугольник или вертикальная черточка (или какой-либо другой признак) показывает ему место, где следующий набираемый символ появится на экране.

  • При программировании для Windows этот признак называется каретка(caret). Слово же курсор относится к битовому образу, отражающему положение мыши на экране.


Дата добавления: 2017-01-26; просмотров: 1024;


Поиск по сайту:

Воспользовавшись поиском можно найти нужную информацию на сайте.

Поделитесь с друзьями:

Считаете данную информацию полезной, тогда расскажите друзьям в соц. сетях.
Poznayka.org - Познайка.Орг - 2016-2024 год. Материал предоставляется для ознакомительных и учебных целей.
Генерация страницы за: 0.007 сек.