gpt4 book ai didi

windows - 对齐文本框

转载 作者:可可西里 更新时间:2023-11-01 14:19:19 24 4
gpt4 key购买 nike

我有一些 data output text boxes (没有边框且背景与窗口其余部分相同的文本框)我试图与标准编辑控件 + 旋转按钮对齐,以表示一列数字,其中一个可以编辑:

screen shot

我可以在 Delphi/C++Builder 窗体设计器中手动对齐这些,但是当我在不同版本的 Windows 或不同的 DPI 上查看窗体时,文本不再右对齐,大概是因为旋转按钮间距、边框等方面的差异。

我可以使用 EM_GETMARGINS 来确定微调按钮的宽度,但是如何确定编辑控件的边距和边框的大小呢?我尝试了 EM_POSFROMCHAR、ClientToScreen、GetSystemMetrics(SM_CXBORDER)、GetSystemMetrics(SM_CXEDGE) 和 GetThemeMargins 的各种组合,但到目前为止,我找不到有效且有意义的组合。

更多详情:

  • 环境是 Delphi/C++Builder XE2。
  • 数据输出控件是带有 BorderStyle bsNone 的 TEdits。
  • 编辑 + 旋转按钮是一个 TJvSpinEdit。通过查看其源代码,它使用 EM_SETMARGINS 为其旋转按钮留出空间。

最佳答案

使用 Win32 API GetWindowRect()GetClientRect() 方法。边界将是两个矩形之间的差异。不过,那只会给你边界。客户区内可能有额外的间距。

关于windows - 对齐文本框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10822087/

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