Практическое руководство. Элементы управления макетом (C++)

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

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

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

Размещение элементов управления

Элементы управления можно упорядочить в диалоговых окнах с помощью редактора диалогов в одном из трех различных состояний:

  • С направляющими и полями включено, задайте значение по умолчанию.

  • С помощью сетки макета включено.

  • Без каких-либо функций привязки или выравнивания.

Панель инструментов редактора диалогов содержит кнопки, управляющие состоянием.

  • Чтобы изменить состояние, выберите соответствующий значок или перейдите в меню "Руководство по формату>" Параметры.

Диалоговое окно "Руководство Параметры" имеет следующие свойства:

Свойство Description
Руководства по макету Отображает параметры для направляющих макетов.
нет Скрывает средства макета.
Линейки и направляющие При включении добавляет линейки в средства макета и позволяет помещать направляющие в линейки. Руководства по умолчанию — это поля.
Сетка Создает сетку макета. Новые элементы управления будут автоматически выравнивать сетку.
Интервалы сетки Отображает параметры интервала сетки в блоках диалоговых окон (DLUs).
Ширина: DLUs Задает ширину сетки макета в DLUs. Горизонтальная DLU — это средняя ширина шрифта диалогового окна, разделенного на 4.
Высота: DLUs Задает высоту сетки макета в DLUs. Вертикальная DLU — это средняя высота шрифта диалогового окна, разделенного на 8.

Руководства и поля

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

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

  • Чтобы переместить поля, перетащите поле в новую позицию.

  • Чтобы сделать поле исчезает, переместите поле на нулевое положение.

  • Чтобы вернуть поле, поместите указатель на нулевое положение поля и переместите поле в положение.

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

  • Чтобы создать руководство в линейке, выберите один раз, чтобы создать руководство, или дважды щелкните, чтобы запустить диалоговое окно "Руководство Параметры", где можно указать параметры руководства.

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

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

  • Чтобы удалить руководство, перетащите направляющую из диалогового окна или перетащите соответствующую стрелку с линейки.

Галочки в линейках, определяющих интервалы направляющих и элементов управления, определяются блоками диалоговых окон (DLUs). DLU основан на размере шрифта диалогового окна, обычно 8-точка MS Shell Dlg. Горизонтальная DLU — это средняя ширина шрифта диалогового окна, разделенного на четыре. Вертикальная DLU — это средняя высота шрифта, разделенного на 8.

  • Чтобы изменить интервалы меток, перейдите в меню "Руководство по формату>" Параметры, а затем в поле "Интервал сетки" укажите новую ширину и высоту в DLUs.

Сетка макета

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

  • Чтобы включить или отключить сетку макета, перейдите в меню "Руководство по формату>" Параметры и нажмите или снимите кнопку "Сетка".

    Вы по-прежнему можете управлять сеткой в отдельных окнах редактора диалогов с помощью кнопки " Переключить сетку" на панели инструментов редактора диалогов.

  • Чтобы изменить размер сетки макета, перейдите в меню "Руководство по формату>" Параметры и введите высоту и ширину в DLUs для ячеек в сетке. Минимальная высота или ширина — 4.

Отключение направляющих

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

  • Чтобы отключить эффект привязки направляющих, перетащите элемент управления, удерживая клавишу ALT .

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

  • Чтобы отключить направляющие, перейдите в меню "Руководство по формату>" Параметры. Затем в разделе "Направляющие макетов" выберите "Нет".

    Совет

    Вы также можете использовать ярлык в меню "Формат>направляющих".

Выбор элементов управления

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

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

  • Чтобы выбрать элементы управления, в окне панели элементов выберите средство указателя и выполните одно из следующих действий, чтобы сделать выбор:

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

    • Удерживайте клавишу SHIFT и выберите элементы управления, которые вы хотите включить в выделение.

    • Удерживайте клавишу CTRL и выберите элементы управления, которые вы хотите включить в выделение.

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

Доминирующие элементы управления

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

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

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

Примечание.

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

Элементы управления размером

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

  • Чтобы изменить размер элемента управления, выберите элемент управления и перетащите дескриптор размера.

    • Маркеры размера в верхней части и стороны изменяют горизонтальный или вертикальный размер.

    • Дескриптор размера в углах изменяется как по горизонтали, так и по вертикали.

    Совет

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

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

  • Чтобы сделать элементы управления одинаковым размером, выберите элементы управления, которые нужно изменить размер и перейти к меню "Формат>сделать один и тот же размер", а затем выберите "Оба", "Высота" или "Ширина".

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

  • Чтобы размер группы элементов управления с направляющими, прикрепите одну сторону элемента управления (или элементов управления) к руководству, а затем перетащите руководство на другую сторону элемента управления (или элементов управления). Теперь можно переместить любое руководство по размеру элемента управления (или элементов управления).

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

Другие элементы управления

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

  1. Нажмите кнопку стрелки раскрывающегося списка справа от поля со списком.

    Arrow on a combo box in an MFC project.

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

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

    Combo box sizing in an MFC project.

  3. Нажмите стрелку раскрывающегося списка еще раз, чтобы закрыть раскрывающийся список в поле со списком.

Примечание.

При добавлении списка с горизонтальной полосой прокрутки в диалоговое окно с помощью MFC полоса прокрутки не будет автоматически отображаться в приложении.

Задайте максимальную ширину для наиболее широкого элемента, вызвав CListBox::SetHorizontalExtent в коде. Без этого значения полоса прокрутки не будет отображаться, даже если элементы в списке шире, чем поле.

Выравнивание элементов управления

  • Чтобы выровнять элементы управления, выберите элементы управления, которые нужно выровнять. Перейдите в меню "Выравнивание формата>" и выберите один из следующих выравниваний:

    Точное понимание Description
    Слева Выравнивает выбранные элементы управления вдоль левой стороны.
    Центры Выравнивание выбранных элементов управления по горизонтали вдоль их центральных точек.
    Права Выравнивает выбранные элементы управления вдоль правой стороны.
    Вершины Выравнивает выбранные элементы управления вдоль их верхних краев.
    Середины Выравнивание выбранных элементов управления по вертикали вдоль их средних точек.
    Днища Выравнивает выбранные элементы управления вдоль их нижних краев.

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

  • Чтобы равномерно выделить элементы управления пространством, выберите элементы управления, которые нужно изменить. Перейдите в меню "Формат>пространства равномерно" и выберите один из следующих выравниваний между интервалами:

    Интервал Description
    Через Элементы управления пробелами равномерно между самым левым и самым правым элементом управления.
    Вниз Элементы управления пробелами равномерно между самым верхним и самым нижним элементом управления.
  • В центре элементов управления выберите элемент управления или элементы управления, которые нужно изменить. Перейдите в меню "Центр форматирования>в диалоговом окне" и выберите один из следующих вариантов:

    Упорядочение Description
    По вертикали Центр управления вертикально в диалоговом окне.
    По горизонтали Центр управления по горизонтали в диалоговом окне.
  • Чтобы выровнять кнопки, выберите одну или несколько кнопок. Перейдите к меню "Формат>упорядочивания кнопок", а затем выберите один из следующих способов:

    Упорядочение Description
    Right Выравнивает кнопки нажатия по правому краю диалогового окна.
    Снизу Выравнивает кнопки по нижнему краю диалогового окна.

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

Требования

Win32

См. также

Управление элементами управления диалогового окна
Практическое руководство. Добавление, изменение и удаление элементов управления
Практическое руководство. Определение управления доступом и значениями