IUP 欺负 Separator。为什么?

IUP bullies Separator. Why?

IUP 文档指定了一个名为 Separator 的 GUI 元素。

但是,当您在 Layout Dialog(IUP GUI 布局编辑器)中单击添加 Child / 添加 Brother 时,弹出的可用 类 列表中缺少它。

不仅如此,当您尝试在 LED file 中手动包含分隔符时(如 SEPARATOR()VBOX()HBOX() 中),然后将其加载到布局中对话框并显示它(或“映射”它),您会收到以下错误消息:

IupMap failed.

随后,仅显示 Separator 之前的 GUI 元素。为什么?

部分答案可能是“它在两个 menu 项之间显示一条线”(根据文档),而我试图在 菜单外使用它 在对话框的 canvas 上(在 VBOX() 内)。这不可能是完全正确的,因为我已经看到分隔符在 GetParam 对话框的菜单外使用(那里的屏幕截图)。即使是,它仍然无法解释为什么布局对话框中的可用 类 中缺少分隔符。

与此同时,我发现 功能 替换 Separator and it’s apparently Label 属性 SEPARATOR 设置为 HORIZONTAL/VERTICAL/YES.

示例(LED):

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"]("")
  )
)

属性 EXPAND = HORIZONTALFREE 将自动添加。

演示 sample.c 还包含一个无法解释的属性 NAME = SAMP_SEP

缺点是缺少可见的标题,但我会在需要时使用 Frame 而不是标签。

进一步阅读

IupSeparator 仅用于菜单。显示该列表以在对话框中插入一个新元素。

IupGetParam 中的分隔符是一个具有 SEPARATOR 属性的 IupLabel。