gpt4 book ai didi

c++ - 如何在TEdit控件中设置textalignment

转载 作者:行者123 更新时间:2023-11-30 01:30:27 25 4
gpt4 key购买 nike

我使用的是 Turbo C++ 资源管理器版(免费版)。有人知道如何设置 TEdit 控件的 textAlignment 吗?

最佳答案

您可能会发现这个问题的解决方案很有趣:

http://bcbjournal.com/bcbcaq/?loc=edits&caq=28

它通过为控件启用 ES_RIGHT Windows 样式使编辑框右对齐,但是它在创建组件时这样做。由于历史原因,标准 Windows 编辑控件在创建后不支持更改对齐方式(官方说法是),如 this post on The Old New Thing 中所述。 .然而,正如您从检查各种声明和评论中可以看出的那样,这已经发生了变化,尽管仍然没有记录在案,但应该是可能的。

因此,如果您想在不创建自己的组件的情况下执行此操作,您可以使用 Windows API 函数 SetWindowLong像这样:

DWORD alignment = ES_RIGHT;
DWORD oldStyle = GetWindowLong(Edit1->Handle, GWL_STYLE);
DWORD newStyle = (oldStyle & ~(ES_LEFT | ES_CENTER | ES_RIGHT)) | alignment;
SetWindowLong(Edit1->Handle, GWL_STYLE, newStyle);

请注意,您可能需要调用 SetWindowPos以使更改生效,如文本前面链接的帖子中的评论中所述。

关于c++ - 如何在TEdit控件中设置textalignment,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4455355/

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