D表单库表格布局面板?

D表单库表格布局面板?,d,tablelayoutpanel,D,Tablelayoutpanel,每次尝试使用时,我都会遇到这样一个事实:它没有TableLayoutPanel——这使得我几乎不可能制作一个好的GUI DFL是否有任何TableLayoutPanel实现? 没有它,人们通常如何使用这个图书馆 编辑: 链接到另一个使用DFL的程序将是回答问题的一大好处。:) 在缺少表格布局的情况下,您可以使用位置和大小属性在电路板上定位内容(甚至可以实现您自己的表格布局) 您可以使用来制作gui并在生成的源代码上进一步构建现在我已经接近我的代码了,有两种方法来管理布局。正如ratchet提到的

每次尝试使用时,我都会遇到这样一个事实:它没有
TableLayoutPanel
——这使得我几乎不可能制作一个好的GUI

DFL是否有任何
TableLayoutPanel
实现?
没有它,人们通常如何使用这个图书馆

编辑:
链接到另一个使用DFL的程序将是回答问题的一大好处。:)

在缺少表格布局的情况下,您可以使用位置和大小属性在电路板上定位内容(甚至可以实现您自己的表格布局)


您可以使用来制作gui并在生成的源代码上进一步构建

现在我已经接近我的代码了,有两种方法来管理布局。正如ratchet提到的,有绝对位置,也有对接。对接将项目放置在5个可能的位置。顶部、底部、左侧、右侧或中心(填充)。然后可以在其中一个面板中放置一个面板,该面板本身可以包含停靠在其中的元素。将停靠值指定给


是用DFL写的。

因为长度超过了注释长度限制,所以作为答案发布

我对你的问题投了反对票,因为它是用火焰诱饵的成分配制的。我猜您以前使用GUI库的经验主要是使用支持方框布局的库,例如Qt。Win32 GUI API本身不提供任何用于创建方框布局的原语-它使用绝对坐标通过和通过。这在许多构建在API之上的OO库中保持不变,例如MFC。有些库,如VCL,具有用于创建框布局(具有对齐和自动大小的面板)的可选原语,但最终,所有控件重新定位都必须由应用程序或GUI框架完成,因此类似的内容需要从头开始在DFL中实现

因此,要回答您的问题:

DFL是否有任何
TableLayoutPanel
实现

可能不会

没有它,人们通常如何使用这个图书馆

他们使用诱惑设计器,用鼠标在窗体上绘制控件。(MFC/Visual Studio、VCL/Delphi IDE等也是如此)


对评论的答复:

如何在表格布局中放置物品(例如,两个并排,一个在下面)

我知道您希望在底部有一个固定高度的面板,并将剩余空间分成两个区域,在调整窗体大小时,这两个区域都保持窗体宽度的一半

  • 在Entice Designer中,放置一个面板,将其
    dock
    设置为
    BOTTOM
    。适当设置其高度
  • 放置第二个面板,将其
    停靠
    设置为
    右侧
  • 在表单代码中,添加以下方法:
  • protected override void onResize(事件参数ea)
    {
    super.onResize(ea);
    panel2.width=this.clientRectangle.width/2;
    }
    
    正如你所看到的,得到一个更复杂的“橡胶桌子”很快就会变得一团糟。我不会费心,或者如果我真的需要复杂的动态布局,我会寻找另一个库

    或者你是说一开始这是个坏主意


    绝对不是我的观点——不需要使用IDE构建的语义布局的优势显而易见。只是由于它们的Win32 API根,Windows GUI库很少提供构建它们的好方法。当然,它们的缺失并不会使构建GUI变得不可能,甚至难以实现——人们通常只使用固定大小的表单,等等(从Windows切换到KDE的最终用户可以清楚地看到这一点——大多数KDE对话框都是可调整大小的,而Windows则不是。)

    您没有给出任何关于这个问题的详细信息。需要什么TableLayoutPanel。。。另外,如果您使用D2,您将需要对2.53进行修改。@he_the__the_great:对您所说的“什么需要TableLayoutPanel”感到困惑——我想我的问题是,什么不需要TLP?如果没有它,您如何制作GUI?DFL已经被很多人使用,没有太多问题,因此缺少任何东西都会很奇怪。你在编译什么?你能建这个图书馆吗?你想在Linux中使用它吗?你把它和探戈一起用吗?你安装正确了吗?你应该给出一个编译器错误,因为这就是告诉人们哪里出错的原因。@he_the_the_great:它编译得很好。这不是问题所在。我不能用它来展示任何东西,因为。。。那么,我如何在表格布局中放置两件东西呢?如果你能用一个非平凡的DFL GUI提供一个程序源的链接,那将是一件非常值得学习的事情;我也熟悉Win32 API,但我认为这样的库肯定会有一个表布局。我想我的问题是,如果我用没有布局面板的鼠标绘制表单,那么如何将内容放入表格布局(例如,两个并排,一个在下面)?或者你一开始是说这是个坏主意?谢谢,但我没有说固定大小——我需要它随窗口自动调整大小(否则,如果太小,它可能会覆盖整个窗口)。。。就像你说的,那会变得很混乱。所以在DFL中几乎没有办法做到这一点,对吗?只需在表单的
    onResize
    override中添加适当的代码。顺便说一句,如果代码中没有调整大小的处理程序,就无法做到这一点。