Строка состояния что. Что собой представляет строка состояния Android? Копирование с помощью клавиатуры

В строке состояния в нижней части программы Office отображает состояние параметры, выбранные для отображения в строке состояния. Множество параметров выбираются по умолчанию. Если вы хотите настроить в строке состояния, щелкните его правой кнопкой мыши и выберите нужные параметры.

В строке состояния в Excel доступны следующие параметры.

Примечание: Некоторые параметры могут быть доступны в зависимости от версии Excel, которую вы используете.

Параметр

Отображаются следующие в строке состояния

Режим ячейки

Текущей ячейки в левой части строки состояния режима редактирования. Выводится одно из указанных ниже режимов.

    Все готово для указания общего состояния.

    Ввод , чтобы указать режим ввода контента. Оно отображается при выборе ячейки и начать вводить текст или дважды нажмите клавишу F2.

    Редактирование для обозначения режим редактирования в ячейке. Он будет отображаться, если дважды щелкнуть ячейку или нажмите клавишу F2, так что можно вводить или изменять данные в ячейке.

    Точки , чтобы указать режимом выделения ячеек формулы. Он будет отображаться при запуске формулу и нажмите кнопку ячейки, которые нужно включить в формулу.

Мгновенное Заполнение пустых ячеек

Выбрано по умолчанию этот параметр показывает количество ячеек, которые были оставлен пустым после завершения операции Мгновенного заполнения .

Мгновенное заполнение изменен ячеек

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

Выбрано по умолчанию этот параметр указывает цифровой подписью активной книги.

Политики управления сведениями

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

Разрешения

Выбрано по умолчанию этот параметр отображается значок рядом с индикатора режима ячейку, которую можно щелкнуть для просмотра текущей чтения и редактирования документа разрешения.

Этот значок отображается только в том случае, если доступ к документу ограничен. Чтобы применить ограничение в Excel 2007, нажмите Кнопку Microsoft Office , подготовить , Ограничить разрешения , Ограниченный доступ . В других версиях, выберите файл > сведения > Защитить книгу > Ограничить доступ > Ограниченный доступ .

Caps Lock , чтобы указать, что CAPS LOCK включен разрешить вводить текст в верхнем регистре. По умолчанию этот параметр не выбран.

При выборе этого параметра отображается Num Lock , чтобы указать, что NUM LOCK включен разрешить с помощью клавиш на цифровой клавиатуре для ввода чисел на листе. По умолчанию этот параметр не выбран.

Выбрано по умолчанию этот параметр отображает Scroll Lock , чтобы указать, что SCROLL LOCK включен разрешить прокрутки на листе с помощью клавиш со стрелками.

Фиксированный десятичный формат

Выбрано по умолчанию этот параметр отображает Фиксированным десятичным означает, что все числовые значения, которые можно ввести на листе будут отображены с фиксированной десятичными знаками. Этот параметр включен, при выборе Автоматическая вставка десятичной запятой флажок в разделе Параметры правки на вкладке " Дополнительно " диалогового окна Параметры Excel (в Excel 2007 щелкните корпорации Майкрософт Кнопка "Office" , Параметры Excel , Дополнительно . В других версиях Excel, нажмите файл > Параметры > Дополнительно .).

Режим замены

При выборе этого параметра отображается замены , чтобы указать, что вставка нажата активация режима замены при редактировании содержимого ячейки в режиме редактирования ячеек (дважды щелкните ячейку или нажмите клавишу F2). По умолчанию этот параметр не выбран.

Выбрано по умолчанию этот параметр отображает Режим окончания чтобы указать, что для активации режима окончания нажата окончания. Последовательное нажатие клавиши END клавиш со стрелками перемещение выделения в направлении стрелки, остановка в начало и конец данных и нажмите начало или в конце листа.

Запись макроса

Выбрано по умолчанию этот параметр отображает кнопку рядом с полем индикатора режима ячейки, который можно щелкнуть, чтобы начать запись макроса.

Режима выделения

Выбрано по умолчанию этот параметр отображает одно из указанных ниже режимов выбора ячеек.

    Расширение выделения при нажатии клавиши F8, чтобы расширить выделенную область ячеек с помощью клавиш со стрелками.

    Добавление к выделенному фрагменту при нажатии клавиши SHIFT + F8, чтобы добавить несмежные ячейки или диапазона выделения ячеек с помощью клавиш со стрелками.

Номер страницы

Выбрано по умолчанию этот параметр отображает номер страницы на странице выбранного листа и число страниц на листе при работе в режиме разметки страницы или в режиме предварительного просмотра.

Выбрано по умолчанию этот параметр отображает среднее значение, которое вычисляется из выделенных ячеек, содержащих числовые значения.

Количество

Выбрано по умолчанию этот параметр отображает количество выделенных ячеек.

Количество чисел

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

Минимальное значение

Этот параметр отображает минимальное числовое значение в выделенных ячейках. По умолчанию этот параметр не выбран.

Максимальное значение

Этот параметр отображает максимальное числовое значение в выделенных ячейках. По умолчанию этот параметр не выбран.

Выбрано по умолчанию этот параметр отображает сумму числовых значений в выделенных ячейках.

Отправить состояние

Выбрано по умолчанию этот параметр указывает состояние отправки электронной таблицы на веб-узле.

Просмотр сочетания клавиш

Этот параметр выбран по умолчанию отображает Обычный режим, режим Разметки страницы и кнопки Страничный режим . Этих кнопок для изменения представления.

Масштабирование

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

Ползунок масштаба

Выбрано по умолчанию этот параметр отображает ползунок масштаба с помощью кнопок уменьшить и увеличить масштаб . Можно затем перетащите ползунок или нажимайте кнопки уменьшить и увеличить масштаб , чтобы увеличить содержимое листа, чтобы получить подробнее или уменьшить объем контента на листе таким образом, вы можете просматривать содержимое дополнительные.

Мини-панель инструментов содержит основные наиболее часто используемые элементы для оформления данных.Мини-панель инструментов очень похожа на упрощенную версию панели инструментов Форматирование из старых версий Word. Увидеть ее можно в двух случаях – при щелчке правой кнопкой мыши и при выделении текста. Во втором случае она почти прозрачна и видна, если навести на нее курсор (рис. 1.9).

Строка состояния

Строка состояния – это полоса, расположенная в нижней части окна Word, под областью для ввода текста и полосой прокрутки. На ней отображаются различные данные о документе, такие как общее количество страниц в документе и номер текущей страницы. В Word 2007 на строке состояния в правой части можно видеть ползунок для изменения масштаба, который можно двигать, или нажимать кнопки "плюс" и "минус", что дает возможность увеличить или уменьшить масштаб на десять процентов.

Практически все информационные блоки на строке состояния являются кнопками, предназначенными для быстрого вызова команд. Например, при щелчке по кнопке с количеством страниц открывается окно Найти и заменить ,

позволяющее быстро перейти к другой странице документа. Щелчок по кнопке с количеством слов открывает окно статистики документа,

где показывается число строк, абзацев, знаков без пробелов и с пробелами.

Если щелкнуть по кнопке, на которой показывается язык , открывается окно выбора языка в текущем документе

.

Наконец, щелчок по кнопке, указывающей на наличие орфографических ошибок , приведет к тому, что в тексте будет выделено ближайшее слово с ошибкой. Также откроется контекстное меню, в котором можно будет выбрать вариант замены слова или исключить его из проверки орфографии.

Все эти блоки можно убрать со строки состояния. В Word 2007 можно настраивать команды, вынесенные на нее. Для этого щелкните по ней правой кнопкой мыши.

В меню можно не только отключить отображение ненужных команд, но и включить те, которые неактивны по-умолчанию. Например, вы можете включить отображение нажатия клавиши Caps Lock, номера строки, раздела, столбца и других сведений.

Текстовый процессор Microsoft Word

Главное меню

Окно программы Word 2007 Microsoft Office 2007

Панели инструментов

Текстовый процессор Microsoft Word - программа, предназначенная для работы в системе Windows, а потому ее интерфейс подобен интерфейсов других Windows-программ. Это касается структуры окна программы, названий некоторых команд, вида диалоговых окон и. Однако есть в нем и специфические элементы, предназначенные для выполнения задач, связанных с обработкой текста.

Интерфейс программы Word настраиваемый, ведь пользователь имеет возможность изменять содержимое панелей инструментов и меню, их расположение и т.д. Приобретя больший опыт, вы сможете настраивать интерфейс Word.

Сейчас же изучим программу в ее стандартном виде.

Для запуска Word следует выполнив команду Пуск Все программы Мiсгоsoft Office Microsoft Office Word 2003 (2007).

Можно также в окне папки дважды щелкнуть мышью любой документ Word.

После запуска программы на экране появится ее окно.

Оно содержит заголовок, где указано имя активного документа (того, с которым в настоящее время работают) и название программы. Под строкой заголовка расположены главное меню программы - вкладки с панелями инструментов. Большую часть окна занимает рабочая область, в которой пользователь вводит и редактирует текст.

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

Главное меню

Доступ ко всем функциям программы Word 2007 можно получить через ее главное меню, или системную кнопку программы.

После щелчка любого из его пунктов отображается вкладка с группой команд, предназначенных для выполнения определенных операций. Так, щелкнув системную кнопку Microsoft Office, мы развернем список возможных действий с файлами документов

В меню Вставка - команды для вставки, а в меню Главная - для форматирования различных объектов. Назначение большинства команд легко понять из их названий.

Окно программы Word 2007 имеет стандартный вид для пакета программ Microsoft Office 2007 . Стоит рассмотреть строка заголовка

Панели инструментов

Она содержит кнопки и другие элементы, с помощью которых можно быстро выполнить определенное действие (изменить размер шрифта, вставить рисунок, вставить гиперссылку и т.д.). Посмотрите на изображения кнопок на панелях инструментов - в большинстве случаев вы сразу догадаетесь, для чего они предназначены. Чтобы узнать название какой-то кнопки или списка на панели инструментов, достаточно навести на них указатель мыши и немного подождать: рядом появится подсказка.

В программе Word количество панелей инструментов: Главная, Вставка, Разметка страницы, Ссылки, Рассылки, Рецензирование, Вид и Настройка.

Другие средства взаимодействия с программой

Если щелкнуть правой кнопкой мыши на объекте, то откроется контекстное меню, содержащее команды, применяемые к этому объекту чаще.

Например, в контекстном меню текста есть команды Вырезать, Копировать и Вставить из меню Правка, а также команды Шрифт Абзац и Список в меню Формат

Некоторые команды можно выполнять и другим способом - с помощью предназначенных для этого комбинаций клавиш. В частности, для сохранения документа используют комбинацию Ctrl + S (удерживая клавишу Ctrl, нажимают S), а для печати - Ctrl + P. Частые комбинации клавиш: Ctrl + С - копировать выделенный объект Ctrl + X - вырезать выделенный объект Ctrl + V - вставить из буфера обмена объект Ctrl + Z - отменить предыдущее действие и тому подобное.

Строка состояния отображает различную текущую информацию документе и обеспечивает доступ к некоторым функциям Outlook.

Настройка строки состояния осуществляется нажатием по ней правой кнопкой мыши, которое откроет дополнительное диалоговое окно:

Форматированный номер страницы — показывает номер, который стоит на этой странице.

Раздел — порядковый номер раздела, в котором вы находитесь.

Номер страницы — порядковый номер текущей страницы и общее количество страниц.

Вертикальное положение на странице — расстояние от верхнего края, на котором находится курсор.

Номер строки — порядковый номер строки, в которой установлен курсор.

Столбец — порядковый номер столбца, в которой установлен курсор.

Число слов — общее количество слов в документе.

Проверка правописания — показывает, есть ли ошибки в документе.

Язык — указывает, какая раскладка клавиатуры активна.

Исправления — показывает, включен ли режим исправлений.

Caps Lock — указывает, включен ли Caps Lock.

Замена — смена режима между вставкой и заменой.

Ярлыки режимов просмотра — позволяют переключаться между режимом чтения, разметкой страницы и веб-документом.

Ползунок масштаба — позволяет увеличивать или уменьшат размер текста. Можно использовать кнопки «+» и «-«, а также просто передвигать ползунок вправо и влево.

Масштаб — позволяет более детально настроить представление.

При нажатии на кнопку с указанием процентов откроется диалоговое окно, в котором доступны следующие настройки:

  • Установка масштаба (как заданные варианты, так и произвольный);
  • Размещение окна на экране (по ширине страницы, по ширине текста, целая страница, несколько страниц);


Строка состояния расположена в нижней части окна. В левой части строки состояния отображается информация о текущем документе (рис. 4.3).

Рис. 4.3. Строка состояния

Описание элементов строки состояния

Элемент

Описание

Номер текущей страницы

Номер текущего раздела. Информация, отображаемая этим элементом, имеет смысл только для документов, разбитых на разделы

Количество страниц от начала документа до текущей страницы (4) и общее число страниц в документе (19)

Расстояние по вертикали между курсором и верхним краем страницы

Количество строк от начала страницы до курсора

Количество символов от левого поля до курсора, включая пробелы и символы табуляции

Кроме того, строка состояния содержит индикаторы режима работы, которые информируют, в каком из режимов редактор работает в настоящий момент. Черный цвет индикаторов соответствует включенному состоянию режима, серый – выключенному.

Назначение индикаторов строки состояния

Включение/выключение режимов осуществляется соответствующими командами и настройками. Кроме того, для переключения режима можно дважды щелкнуть левой клавишей мыши по соответствующему индикатору.

Контекстное меню

Контекстное меню позволяет выполнять многие из команд, не обращаясь к строке меню. Это средство позволяет ускорить выполнение многих операций. Для вызова контекстного меню необходимо нажать правой кнопкой мыши на том объекте, с которым необходимо произвести действие, или Shift+F10 на клавиатуре. Содержание меню определяется тем, что пользователь делает в данный момент и включает только самые необходимые команды.

4.4. Выход из ms Word

После завершения текущего сеанса работы необходимо выйти из MS Word. Для этого можно воспользоваться одним из следующих способов:

    Выбрать меню Файл –> Выход .

    Выбрать пункт Закрыть в системном меню главного окна MS Word.

    Установить указатель мыши на значок системного меню в главном окне MS Word и дважды щелкнуть левой кнопкой мыши.

    Нажать кнопку Закрыть в строке заголовка главного окна.

    Нажать Alt+F4 на клавиатуре.

Если в каком-либо из открытых окон содержится не сохраненная информация, MS Word предложит выбрать, как поступить с ней. Для этого на экране появится окно диалога, аналогичное следующему (рис. 4.4).

Рис. 4.4. Сообщение при закрытии документа

4.5. Справочная система Word

Подобно большинству наиболее популярных программ, MS Word имеет контестно-зависимую справочную систему . Это означает, что можно получить справку по использованию средства, с которым идет работа в настоящий момент. Основным средством получения справочной информации является менюСправка :

Команда меню

Описание

Справка по Microsoft Word

Запускает справочную систему MS Word – в зависимости от установленных параметров

Показать помощника

Выводит на экран помощника

Что это такое?

Позволяет получить справочную информацию о конкретном объекте

Запускает Internet Explorer и открывает Web-страницы с наиболее полезными сведениями Microsoft

Найти и устранить

Осуществляет поиск и автоматическое устранение ошибок в приложении

О программе

Для получения справочной информации можно воспользоваться ним из следующих способов:

    Выбрать команду меню Справка –> Справка по Microsoft Word.

    Выбрать команду меню Справка –> Что это такое?

    Нажать F1 в любой момент сеанса работы с MS Word.

LPTBNOTIFY ptbn =(LPTBNOTIFY) lParam; switch(ptbn->iItem)

lstrcpy(ptbn->pszText, "Help"); ptbn->tbButton.iBitmap = STD_HELP; ptbn->tbButton.idCommand = 11; ptbn->tbButton.fsState = TBSTATE_ENABLED; ptbn->tbButton.fsStyle = TBSTYLE_BUTTON; ptbn->tbButton.dwData = 0; ptbn->tbButton.iString = 10;

return 1; case 1:

lstrcpy(ptbn->pszText, "Delete"); ptbn->tbButton.iBitmap = STD_DELETE; ptbn->tbButton.idCommand = 12; ptbn->tbButton.fsState = TBSTATE_ENABLED; ptbn->tbButton.fsStyle = TBSTYLE_BUTTON; ptbn->tbButton.dwData = 0; ptbn->tbButton.iString = 11;

return 1; default:

Если у вас уже есть массив описаний TBBUTTON, то самый быстрый путь ответа на это сообщение состоит в использовании функции memcpy для копирования TBBUTTON для каждого получаемого сообщения. Ниже показано, как программа GADGETS делает это:

lstrcpy(ptbn->pszText, GetString(ptbn->iItem)); memcpy(&ptbn->tbButton, &tbb, sizeof(TBBUTTON));

Строка состояния

Строки состояния (status bar) - окна только для вывода информации, часто располагающиеся в нижней части главного окна программы. Наиболее частое использование строки состояния состоит в том, что она используется для отображения подробного описания пунктов меню при их просмотре пользователем, также как официант комментирует тот или иной пункт меню в ресторане. Когда меню не просматривается, программы часто отображают в строке состояния сопутствующую информацию. Также часто отображается состояние клавиш сдвига

- , , . В программах текстовых процессоров часто отображается также текущая страница, строка, столбец.

Строка состояния может работать в двух режимах, поэтому она может использоваться для описания элементов меню и вывода другой программной информации. В режиме описания пунктов меню (простом режиме, "simple mode") строка состояния расширяется для отображения простой строки текста. В режиме отображения состояния программы в строке состояния отображается одно или более окон, каждое из которых называется "частью" строки статуса. Конкретная часть строки состояния может быть создана как ниша с рамкой, которая выглядит приподнятой над поверхностью окна строки состояния, или без рамки. Кроме того, существует возможность добавить в строку состояния дочерние окна, такие как часы или индикатор прогресса. При переключении строки состояния из простого режима в режим отображения состояния программы и обратно строка состояния сохраняет один набор скрытых окон в то время, как отображается другой набор видимых окон.

Создание строки состояния

Простейший путь создания строки состояния состоит в вызове функции CreateStatusWindow :

hwndStatusBar = CreateStatusWindow(

WS_CHILD | WS_VISIBLE | WS_CLIPSIBLINGS | CCS_BOTTOM, "Ready", hwndParent, 2

Эта функция вызывает функцию CreateWindow , которая создает дочернее окно с родительским окном hwndParent , с текстом окна "Ready" (этот текст отображается в первом окне строки состояния), идентификатором, равным 2. Флаги стиля окна заданы в первом параметре.

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

Флаг стиля

Описание

Представление

Отображает диагональную штриховку в

правом углу строки состояния. Эта область

служит для изменения размеров родительского

Начальное положение

Помещает строку состояния в верхнюю часть

родительского окна.

Помещает строку состояния в нижнюю часть

родительского окна (по умолчанию).

Запрещает перемещение относительно оси y .

Запрет автоматического

CCS_NOPARENTALIGN

Строка состояния устанавливает свою высоту

изменения размеров и

(cy ). Но не устанавливает свое местоположение

местоположения

(x,y ) и ширину (cx ). Для соответствующей

обработки необходимо после создания

посылать сообщение об изменении размеров.

Запрещает все автоматические перемещения и

изменения размеров. Это запрещает

следующие флаги стиля: CCS_TOP,

CCS_BOTTOM, CCS_NOMOVEY и

CCS_NOPARENTALIGN. Вы должны явно

задать размеры и положение строки состояния.

Перемещение и изменение размеров строки состояния

Когда родительское окно строки состояния изменяет размер (при получении сообщения WM_SIZE), строка состояния должна занять новое положение и приобрести другие размеры, чтобы остаться в нижней части рабочей области родительского окна. Панель инструментов изменяет размеры в ответ на сообщение TB_AUTOSIZE (см. ранее в этой главе). У строки статуса нет аналогичного сообщения. Вместо него используется примерно следующие:

int cxParent = LOWORD(lParam); int cyParent = HIWORD(lParam); int x, y, cx, cy;

// Оставить высоту окна строки состояний без изменений

GetWindowRect(hwndStatusBar, &rWindow); cy = rWindow.bottom - rWindow.top;

y = cyParent - cy; cx = cxParent;

MoveWindow(hwndStatusBar, x, y, cx, cy, TRUE);

Этот код сохраняет высоту строки состояния без изменений и модифицирует ее ширину и местоположение таким образом, чтобы занять нужное место в рабочей области родительского окна.

Поддержка просмотра меню

Пользователи ожидают от Windows - программ отображения вспомогательной информации в строке состояния о том, какую функцию выполняет тот или иной пункт меню. Даже случайный пользователь Windows быстро учится тому, что под пунктом меню из одного слова скрывается значительно более широкое действие. И хотя опытные пользователи легко понимают смысл стандартных команд меню, иногда им приходится тратить много сил, чтобы понять смысл специфичных пунктов меню конкретной программы.

Меню окна посылает сообщение WM_MENUSELECT, когда пользователь просматривает пункты меню, и сообщение WM_COMMAND, когда пользователь выбирает пункт меню (см. главу 10). Для поддержки отображения вспомогательной информации о пунктах меню следует обрабатывать сообщение

Для упрощения процесса обработки этого сообщения и отображения текста в строке состояния библиотекой элементов управления общего пользования поддерживается функция MenuHelp . Эта функция предполагает наличие таблицы строк, содержащей тексты вспомогательной информации для отображения, и структуры данных, связывающей пункты меню с идентификаторами текстовых строк из таблицы. Функция MenuHelp определена следующим образом:

Первый параметр, uMsg , должен быть равен WM_MENUSELECT, хотя наличие этого параметра (и его описание в документации по Win32) говорит о том, что обработка сообщения WM_COMMAND была заложена еще при разработке функции. В качестве второго и третьего параметров передаются параметры wParam и lParam оконной процедуры. Эти три параметра, взятые вместе, описывают то, какую часть системы меню просматривает пользователь, и является ли он пунктом, всплывающего меню или системного.

Шестой параметр, hwndStatus , это описатель окна строки состояния. Функция MenuHelp посылает специфичное для строки состояния сообщение SB_SIMPLE для установки строки состояния в режим одного окна (простой) и для отображения соответствующего текста. Позднее, когда пользователь прекращает просмотр, функция MenuHelp посылает другое сообщение SB_SIMPLE для возврата строки состояния в режим многих окон (непростой).

Функция MenuHelp использует другие три параметра - hMainMenu , hInst и lpwIDs - для определения того, какую строку необходимо отобразить при просмотре элемента меню. Параметр hInst идентифицирует модуль, который может быть описателем экземпляра DLL или описателем экземпляра выполняемой программы, и является владельцем таблицы, содержащей строки меню (которые, как можно предположить, загружаются с помощью функции LoadString ).

Возможность сделать так, чтобы функция MenuHelp работала правильно, состоит в том, чтобы передать правильное значение в четвертом и седьмом параметрах: hMainMenu и lpwIDs . Правильная установка этих значений является небольшим трюкачеством, поскольку существует три элемента для рассмотрения: командное меню, всплывающее меню и системное меню. Другая сложность состоит в том, что документация по Win32 говорит о том, что lpwIDs - массив, в котором осуществляет поиск функция MenuHelp . Несмотря на то, что имеет смысл использовать массив для хранения базовых значений строковых ресурсов, вы должны будете сами делать грамматический разбор массива, поскольку функция MenuHelp не делает этого.

Просмотр элементов меню

Функция MenuHelp вычисляет идентификатор ID строкового ресурса для элемента меню путем добавления значения идентификатора команды (полученного из младшего слова wParam ) к значению, на которое ссылается lpwIDs . Например, следующий вызов функции MenuHelp отображает строковый ресурс с номером 125 в строке состояния:

UINT uiStringBase = 100; WPARAM wParam = 25;

MenuHelp(WM_MENUSELECT, wParam, lParam, NULL, hInst, hwndStatus, &uiStringBase);

Как показано в примере, описатель меню hMainMenu может быть равен NULL для отображения элементов меню команд, поскольку функция MenuHelp не использует это значение для расчета.

Простейший путь привести в соответствие элементы меню команд и строковые ресурсы состоит в том, чтобы присвоить им одинаковые значения. Это позволит установить базу строки в ноль и ее игнорировать.

Просмотр элементов всплывающего меню

В случае всплывающего меню функция MenuHelp вычисляет строку-ресурс для отображения в строке состояния путем добавления индекса (с нулевой базой) всплывающего меню к значению, на которое ссылается lpwIDs . Для того чтобы это работало правильно, необходимо, чтобы четвертый параметр функции MenuHelp - hMainMenu - имел значение описателя родительского по отношению к всплывающему меню окна. Структура, приведенная ниже, обеспечивает удобный путь для установки соответствия между описателями меню и базой строковых ресурсов:

typedef struct tagPOPUPSTRING

HMENU hMenu; UINT uiString;

В программе GADGETS, в которой три пункта меню содержат всплывающие меню, эта структура данных определяется так:

POPUPSTRING popstr;

и инициализируется при создании строки статуса следующим образом:

GetMenu(hwndParent);

IDS_MAIN_MENU;

GetSubMenu(hMainMenu, 2);

IDS_TOOLBAR_MENU;

GetSubMenu(hMainMenu, 3);

IDS_STATUSBAR_MENU;

При получении сообщения WM_MENUSELECT параметр lParam содержит описатель меню родительского окна. Работа функции MenuHelp по подбору правильного ресурса строки требует от вас поиска в массиве и передачи адреса, как последнего параметра функции MenuHelp . Ниже показано, как это реализуется в программе GADGETS:

if((fuFlags & MF_POPUP) &&(!(fuFlags & MF_SYSMENU)))

for(iMenu = 1; iMenu < MAX_MENUS; iMenu++)

Для того чтобы это работало корректно, hMainMenu должен быть установлен в значение описателя родительского меню всплывающего меню. Пока мы рассматривали обработку своих всплывающих меню, мы совершенно забыли о системном меню.

Просмотр системного меню

Функция MenuHelp обеспечивает индикацию в строке состояния вспомогательной информации для системного меню и элементов системного меню. Все, что необходимо для этого - параметры сообщения WM_MENUSELECT wParam и lParam в том же виде, что и для других типов элементов меню. Кроме того, значение hMainMenu не должно быть равно реальному описателю системного меню; NULL - вполне подходит.

Объединим теперь все эти фрагменты для элементов меню, всплывающих меню и системного меню. Ниже приведен код, иллюстрирующий то, каким образом программа GADGETS обрабатывает сообщение WM_MENUSELECT для того, чтобы отобразить вспомогательную информацию в строке состояния:

LRESULT Statusbar_MenuSelect(HWND hwnd, WPARAM wParam, LPARAM lParam)

UINT fuFlags =(UINT) HIWORD(wParam); HMENU hMainMenu = NULL;

// Обработка несистемных всплывающих меню if((fuFlags & MF_POPUP) &&(!(fuFlags & MF_SYSMENU)))

for(iMenu = 1; iMenu < MAX_MENUS; iMenu++)

if((HMENU) lParam == popstr.hMenu)

hMainMenu =(HMENU)lParam; break;

// Отображение вспомогательной информации в строке состояния

MenuHelp(WM_MENUSELECT, wParam, lParam, hMainMenu, hInst, hwndStatusBar, &((UINT) popstr.hMenu));