Встречает один веб мастер другого и говорит:
- Слушай, вчера был на твоем сайте. Здорово! Круто!
- А, так это был ты.
Глава III – Обработка сообщений. Часть 4
Идентификаторы окон
Идентификаторы окон являются целыми числами, которые используются для определения окна в системе сообщений. Фактически, идентификаторы не обязаны быть уникальными в пределах всего приложения – они должны быть уникальны в пределах некоторого контекста, такого как фрейм и его дочерние окна. Например, вы можете использовать идентификатор wxID_OK в большом числе диалогов при условии, что у вас нет нескольких окон с этим идентификатором в одном диалоге.
Если вы передадите идентификатор wxID_ANY конструктору для окна, то wxWidgets автоматически сгенерирует идентификатор. Эта возможность бывает полезной, когда вам не важна информация о точном значении идентификатора, например потому, что вы не собираетесь обрабатывать сообщения от этого окна или из-за того, что вы обрабатываете сообщения от всех элементов управления в одном месте. В последнем случае вы должны использовать wxID_ANY в таблице сообщений или при вызове wxEvtHandler::Connect. Сформированный таким образом идентификатор всегда отрицателен, а поэтому никогда не конфликтует с определенными пользователем идентификаторами, которые всегда должны быть положительными.
wxWidgets предоставляет некоторое число стандартных идентификаторов, перечисленных в Таблице 3.2. Используйте стандартные идентификаторы там где это только возможно! Некоторые системы имеют возможность использовать эту информацию, чтобы использовать для таких окон особую графику (как например, для кнопок OK и Cancel в GTK+) или стандартное поведение (такое как эмуляция сообщения от wxID_CANCEL при нажатии на клавишу Esc). В системе Mac OS X элементы меню с идентификаторами wxID_ABOUT, wxID_PREFERENCES и wxID_EXIT специальным образом интерпретируются и выносятся в системное меню. Некоторые компоненты wxWidgets, такие как wxTextCtrl, знают как обрабатывать команды меню или кнопок с идентификаторами wxID_COPY, wxID_PASTE и wxID_UNDO.
Стандартные идентификаторы для окон
- wxID_ANY – Это значение можно передать конструктору окна и тогда wxWidgets сама выберет подходящий идентификатор
- wxID_LOWEST – Самое меньшее значение, которое может быть у стандартного идентификатора (4999)
- wxID_HIGHEST – Самое большое значение, которое может быть у стандартного идентификатора (5999)
- wxID_OPEN – Открыть файл
- wxID_CLOSE – Закрыть окно
- wxID_NEW – Новое окно, файл или документ
- wxID_SAVE – Сохранить файл
- wxID_SAVEAS – Сохранить файл под новым именем…
- wxID_REVERT – Реверсировать изменения в файле на диске
- wxID_EXIT – Выйти из приложения
- wxID_UNDO – Откат одного изменения назад
- wxID_REDO – Откат одного изменения вперед
- wxID_HELP – Основная помощь (например кнопка Помощь в диалоге)
- wxID_PRINT – Печать
- wxID_PRINT_SETUP – Диалог настройки печати
- wxID_PREVIEW – Предпросмотр печати
- wxID_ABOUT – Показать диалог с информацией о программе
- wxID_HELP_CONTENTS – Показать оглавление помощи
- wxID_HELP_COMMANDS – Показать помощь по основным командам
- wxID_HELP_PROCEDURES – Показать помощь по основным процедурам
- wxID_HELP_CONTEXT – Не используется
- wxID_CUT – Вырезать
- wxID_COPY – Копировать
- wxID_PASTE – Вставить
- wxID_CLEAR – Очистить
- wxID_FIND – Искать
- wxID_DUPLICATE – Сделать дубликат
- wxID_SELECTALL – Выбрать все
- wxID_DELETE – Удалить (вырезать без копирования)
- wxID_REPLACE – Заменить
- wxID_REPLACE_ALL – Заменить все
- wxID_PROPERTIES – Показать свойства выбранного объекта
- wxID_VIEW_DETAILS – Посмотреть детали в списке
- wxID_VIEW_LARGEICONS – Представить список в виде больших иконок
- wxID_VIEW_SMALLICONS – Представить список в виде маленьких иконок
- wxID_VIEW_LIST – Представить список в виде таблицы
- wxID_VIEW_SORTDATE – Сортировать по дате
- wxID_VIEW_SORTNAME – Сортировать по имени
- wxID_VIEW_SORTSIZE – Сортировать по размеру
- wxID_VIEW_SORTTYPE – Сортировать по типу
- от wxID_FILE1 до wxID_FILE9 - Загрузить последние обрабатываемые файлы
- wxID_OK - Подтвердить выбор в диалоге
- wxID_CANCEL - Отклонить выбор в диалоге
- wxID_APPLY - Применить выбор в диалоге
- wxID_YES - Идентификатор для кнопки Да
- wxID_NO - Идентификатор для кнопки Нет
- wxID_STATIC - Идентификатор для статического текста или изображения
- wxID_FORWARD - Передвинуться вперед
- wxID_BACKWARD - Передвинуться назад
- wxID_DEFAULT - Восстановить настройки по умолчанию
- wxID_MORE - Увидеть больше настроек
- wxID_SETUP - Посмотреть диалог с настройками
- wxID_RESET - Отменить сделанные настройки
- wxID_CONTEXT_HELP - Посмотреть контекстную помощь
- wxID_YESTOALL - Отвечать Да на все вопросы
- wxID_NOTOALL - Отвечать Нет на все вопросы
- wxID_ABORT - Прервать текущую операцию
- wxID_RETRY - Попробовать выполнить операцию снова
- wxID_IGNORE - Игнорировать ошибку
- wxID_UP - Передвинуться вверх
- wxID_DOWN - Передвинуться вниз
- wxID_HOME - Передвинуться в начало
- wxID_REFRESH - Обновить
- wxID_STOP - Завершить текущую операцию
- wxID_INDEX - Показать оглавление
- wxID_BOLD - Выделенное сделать жирным
- wxID_ITALIC - Выделенное сделать прописным
- wxID_JUSTIFY_CENTER - Выравнивание по центру
- wxID_JUSTIFY_FILL - Выровнять по ширине
- wxID_JUSTIFY_RIGHT - Выравнивание по правому краю
- wxID_JUSTIFY_LEFT - Выравнивание по левому краю
- wxID_UNDERLINE - Подчеркивание
- wxID_INDENT - Отступ
- wxID_UNINDENT - Удалить отступ
- wxID_ZOOM_100 - Показать в реальную величину
- wxID_ZOOM_FIT - Изменить масштаб по размеру страницы
- wxID_ZOOM_IN - Увеличить
- wxID_ZOOM_OUT - Уменьшить
- wxID_UNDELETE - Восстановить удаленное
- wxID_REVERT_TO_SAVED - Восстановить сохраненное состояние
Для своих собственных идентификаторов вам необходимо использовать числа, которые больше wxID_HIGHEST или меньше wxID_LOWEST.