gpt4 book ai didi

c++ - 将现有的 VCL 控件放置在 TPanel 组件上

转载 作者:塔克拉玛干 更新时间:2023-11-03 07:08:32 26 4
gpt4 key购买 nike

众所周知,TPanel 是其他可视组件(TLabelTEdit 等)的容器。但是,似乎我们只能放置新组件(来自组件调色板)添加到现有的 TPanel 上,然后 VCL 框架将自动使 TPanel 成为它们的父级)。

我想知道是否有一种方法可以将现有的可视组件(那些已经在我们的 VCL 窗体上的组件)放到 TPanel 上。我试过了

  • 将组件放置在现有的 TPanel 上(这不起作用,因为框架不会让 TPanel 成为它们的父级)

  • 手动编辑表单的 dfm 文件(TPanel 上的组件现在是不可见的——一个错误?)

  • 在代码中显式设置组件的 Parent 属性(即使 Panel1 高度设置为 0,Label1 也是可见的)

    Label1->Parent = Panel1;

以上都不起作用,但这似乎是一个基本的事情,它必须是一种方法来做到这一点。

谢谢

最佳答案

根据我使用 VCL 的经验(我使用 Delphi 但我认为这同样适用于 C++),我知道 3 种方法在设计时更改已存在控件的 Parent:

  • ControlStructure 窗口拖放到所需的Parent enter image description here

  • 选择Control,剪切Ctrl + X,选择所需的Parent并粘贴Ctrl + V。这样,Control 将被粘贴为所需 Parent

  • 的子控件
  • 手动编辑 DFM 文件。这样做,你必须注意 LeftTop 属性,因为 Control 可以放在新的 Parent 之外 它似乎是不可见的。在这种情况下,我建议将控件的 LeftTop 设置为 0 以确保 Control 将在其新的 Parent

  • 中可见

关于c++ - 将现有的 VCL 控件放置在 TPanel 组件上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45708555/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com