如何在 Delphi XE2 中使 TMaskEdit 成为多行编辑
How to make TMaskEdit a multiline edit in Delphi XE2
我需要将多行功能添加到我的TMaskEdit,我可以找到负责此功能的属性。任何帮助将不胜感激。
您可以制作一个TMaskEdit 多行,添加ES_MULTILINE
Style to the control via overriding the CreateParams
方法。像这样
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;
我需要将多行功能添加到我的TMaskEdit,我可以找到负责此功能的属性。任何帮助将不胜感激。
您可以制作一个TMaskEdit 多行,添加ES_MULTILINE
Style to the control via overriding the CreateParams
方法。像这样
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;