[英]How to make TMaskEdit a multiline edit in Delphi XE2
I need the functionality of multi-line to be added to my TMaskEdit, I can locate the property responsible for this feature. 我需要将多行功能添加到我的TMaskEdit中,我可以找到负责此功能的属性。 Any help would be appreciated. 任何帮助,将不胜感激。
You can make a TMaskEdit multiline, adding the ES_MULTILINE
Style to the control via overriding the CreateParams
method. 您可以制作TMaskEdit多行,通过重写CreateParams
方法将ES_MULTILINE
样式添加到控件中。 Like so 像这样
type
TMaskEdit = class(Vcl.Mask.TMaskEdit)
protected
{ Protected declarations }
procedure CreateParams(var Params: TCreateParams); override;
end;
TForm30 = class(TForm)
MaskEdit1: TMaskEdit;
Edit1: TEdit;
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form30: TForm30;
implementation
{$R *.dfm}
procedure TMaskEdit.CreateParams(var Params: TCreateParams);
const Alignments: array[TAlignment] of Longint =
(ES_LEFT, ES_RIGHT, ES_CENTER);
begin
inherited CreateParams(Params);
//Multiline //scrollbars
Params.Style := Params.Style or ES_MULTILINE or WS_HSCROLL or WS_VSCROLL;
end;
procedure TForm30.FormCreate(Sender: TObject);
begin
MaskEdit1.Height:= 250;
MaskEdit1.AutoSize:= False;
end;
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.