在运行时对齐按钮

发布于 2024-10-10 22:51:09 字数 390 浏览 0 评论 0原文

我在运行时遇到按钮对齐问题。我希望它们在面板的中心对齐。我有 TPanel,其中包含运行时创建的按钮。我希望它们动态地均匀地填充整个面板区域。

假设我一行中有三个按钮 - 每个按钮宽度为 50 像素。我的面板宽度为 350px。

  1. 我将面板宽度除以行中按钮的数量 (Trunc(350/3)=116)。获取按钮区域宽度。
  2. 现在我从按钮宽度中减去按钮区域宽度以获得边距(116-50=66)
  3. 将边距除以2以获得左右边距(Trunc(66/2)= 33)
  4. 并从左边距开始定位我的按钮等等。

但这不能正常工作。我做错了什么?我的面板也有一个右锚。因此,如果我调整表单大小,面板也会调整大小,但按钮不会对齐。

我该如何解决这个问题?

I have a problem with buttons align on runtime. I want them to align in center of the panel. I have TPanel, which contains buttons that are created runtime. I want them dynamically fill the whole panel area evenly.

Let's say I have three buttons in row - each buttons width 50px. And my panel has width 350px.

  1. I divide panel width to number of buttons in row (Trunc(350/3)=116). Got button area width.
  2. Now I substract the button area width from button width to get the margins (116-50=66)
  3. Divide margins to 2 to get left and right margin (Trunc(66/2)=33)
  4. And position my buttons, starting from left margin and so on.

But this doesn't work correctly. What I'm doing wrong? Also my panel has a right anchor. So if I resize my form, the panel resizes, but buttons do not align.

How can I solve this problem?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

一曲爱恨情仇 2024-10-17 22:51:09

只是建议,使用 TGridPanel。设置列并设置在按钮上对齐客户端。它应该做同样的事情,尽管我还没有测试过。

Just a suggestion, use a TGridPanel. Set up columns and set align client on buttons. It should do the same, although I haven't tested it.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文