首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >IUP分裂溢出对话框?

IUP分裂溢出对话框?
EN

Stack Overflow用户
提问于 2017-10-25 13:08:05
回答 1查看 93关注 0票数 1

我试图创建的gui遵循以下简单的逻辑:

  • IupDialog:
    • IupVbox
      • IupSplit
        • IupList
        • IupList

这些列表应该填充拆分,并在需要时有滚动条。但是,如果我稍微调整窗口的大小,IupVbox就会变得非常大,以至于不适合这个对话框,而且您看不到它的边距或列表的滚动条。我可能做错了什么,但我想不出来。

以下是我所做工作的简化版本:

代码语言:javascript
复制
Ihandle *page, *box_options, *split, *btn_work, *dlg;
{
    list_entries = IupList(NULL);
    IupSetAttribute(list_entries, "EXPAND", "YES");
}
{
    list_log = IupList (NULL);
    IupSetAttribute(list_log, "EXPAND", "YES");
}

split = IupSplit(list_entries, list_log);
IupSetAttribute(split, "ORIENTATION", "VERTICAL");

page = IupVbox(split, NULL);
IupSetAttribute(page, "GAP", "20");
dlg = IupDialog(page);
IupShowXY (dlg, IUP_CENTER, IUP_CENTER);
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-10-30 16:34:35

只有当列表中有许多项,或者一项非常大时,才会发生这种情况。

问题是,默认情况下,列表的自然大小会考虑其所有项。因此,它比对话框的实际大小要大,即使在使用expand=yes和拆分内部也是如此。这是一种历史性的行为,是不能改变的。

为了避免这一点,我们有两个属性: VISIBLECOLUMNS和VISIBLELINES,设置这些属性时将禁用这种自然大小的行为。例如:

IupSetAttribute(list_entries,"VISIBLECOLUMNS","10");IupSetAttribute(list_entries,"VISIBLELINES","3");

那么你的样本应该能像你预期的那样工作。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46933321

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档