IUP Хулиганы Сепаратор. Зачем?

В документации IUP указан элемент графического интерфейса с именем Separator.

Однако он отсутствует в списке "Доступные классы", который появляется, когда вы нажимаете "Добавить ребенка / Добавить брата" в диалоговом окне " Макет" (редактор макета IUP GUI).

Разделитель отсутствует в доступных классах в диалоге Layout

Мало того, что, когда вы пытаетесь включить разделитель вручную в файле LED (как SEPARATOR() внутри VBOX() или же HBOX()), а затем загрузить его в диалоговом окне "Макет" и показать его (или "сопоставить"), вы получите следующее сообщение об ошибке:

IupMap не удалось.

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

Частично ответ может состоять в том, что "он показывает линию между двумя пунктами меню " (согласно документации), тогда как я пытался использовать его вне меню на холсте диалога (внутри VBOX()). Это не может быть полной правдой, потому что я видел, как разделитель использовался вне меню в диалоге GetParam (скриншот там). И даже если бы это было так, это все равно не объясняет, почему разделитель отсутствует в доступных классах в диалоге раскладки.

2 ответа

Решение

IupSeparator предназначен только для меню. Этот список отображается для вставки нового элемента в диалог.

Разделителем в IupGetParam является IupLabel с атрибутом SEPARATOR.

В то же время я нашел функциональную замену разделителю, и он, по-видимому, имеет метку с атрибутом SEPARATOR установлен в HORIZONTAL / VERTICAL / YES,

Пример (светодиод):

FakeSeparatorDlg = DIALOG[TITLE = "IUP fake separator demo"](
  VBOX[MARGIN = 5x5,GAP = 5](
    LABEL[TITLE = "Label Text 1"](""),
    LABEL[SEPARATOR = HORIZONTAL](""),
    LABEL[TITLE = "Label Text 2"]("")
  )
)

IUP демонстрация поддельных сепараторов

атрибут EXPAND = HORIZONTALFREE будет добавлено автоматически.

демонстрация sample.c также включает в себя необъяснимый атрибут NAME = SAMP_SEP,

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

дальнейшее чтение

Другие вопросы по тегам