gpt4 book ai didi

delphi - 按钮标题中的换行符

转载 作者:行者123 更新时间:2023-12-03 14:38:16 31 4
gpt4 key购买 nike

我正在构建一个应用程序,我想在其中的表单上显示一个按钮。我想在两行上显示按钮的标题。我尝试在表单的 OnCreate 事件中使用以下代码,但它没有显示新行。

Button.Caption := 'Hello' + #13#10 + 'world';

还有其他方法来添加新行吗?

最佳答案

对于没有 WordWrap 属性的非常旧的 Delphi 版本:

在设置标题之前使用以下代码:

SetWindowLong(Button1.Handle, GWL_STYLE, 
GetWindowLong(Button1.Handle, GWL_STYLE) or BS_MULTILINE);

但棘手的部分是该代码需要多次执行。重新创建按钮后,您的多行设置就会丢失。有点类似于this dilemma .

幸运的是,VCL 提供了一个解决方案,但是您必须对 TButton 类型进行子类化,例如如下:

type
TButton = class(StdCtrls.TButton)
protected
procedure CreateParams(var Params: TCreateParams); override;
end;

TForm1 = class(TForm)

...

procedure TButton.CreateParams(var Params: TCreateParams);
begin
inherited CreateParams(Params);
Params.Style := Params.Style or BS_MULTILINE;
end;

关于delphi - 按钮标题中的换行符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6912900/

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