如何将输入内容对齐到用户信息页面的中心?

问题描述 投票:0回答:1

正如问题所说,我想从中心开始打字,而不是从左侧开始。

短代码值:

with WizardForm.UserInfoNameEdit do
  begin
    Left := ScaleX(104);
    Top := ScaleY(182);
    Width := ScaleX(233);
    Height := ScaleY(31);
    Font.Height := -19;
    MaxLength := 30;
    ParentFont := False;
  end;

这里有一些图片:

inno-setup pascalscript
1个回答
0
投票

根据您的第三张图片,您可以使用自定义表单并将控件放置在表单的中心。

function CreateMyCustomUserDialog(): Boolean; 
var
    Form: TSetupForm;
    OKButton, CancelButton: TNewButton;
    Label1: TLabel;
    Edit1: TEdit;
begin
  Form := CreateCustomForm();
  try
    Form.ClientWidth := ScaleX(256);
    Form.ClientHeight := ScaleY(256);
    Form.Caption := 'User Information';
    Form.CenterInsideControl(WizardForm, true);

    OKButton := TNewButton.Create(Form);
    OKButton.Parent := Form;
    OKButton.Width := ScaleX(75);
    OKButton.Height := ScaleY(23);
    OKButton.Left := Form.ClientWidth - ScaleX(75 + 6 + 75 + 10);
    OKButton.Top := Form.ClientHeight - ScaleY(23 + 10);
    OKButton.Caption := 'OK';
    OKButton.ModalResult := mrOk;

    Label1 := TLabel.Create(Form);
    Label1.Parent := Form;
    Label1.Alignment := taCenter;
    Label1.Caption := 'Username:';
    Label1.Width := Form.ClientWidth;
    Label1.Height := ScaleY(23);    
    Label1.Top := 30;    

    Edit1 := TEdit.Create(Form);
    Edit1.Parent := Form;
    Edit1.Top := 50;
    Edit1.Width := 100;
    Edit1.Left := (Form.ClientWidth -  Edit1.Width) / 2;
    Edit1.Text := 'Admin';           

    CancelButton := TNewButton.Create(Form);
    CancelButton.Parent := Form;
    CancelButton.Width := ScaleX(75);
    CancelButton.Height := ScaleY(23);
    CancelButton.Left := Form.ClientWidth - ScaleX(75 + 10);
    CancelButton.Top := Form.ClientHeight - ScaleY(23 + 10);
    CancelButton.Caption := 'Cancel';
    CancelButton.ModalResult := mrCancel;
    CancelButton.Cancel := True;

    Form.ActiveControl := OKButton;

    if Form.ShowModal() = mrOk then
      MsgBox('You clicked OK.', mbInformation, MB_OK);
  finally
    Form.Free();
  end;
end;
© www.soinside.com 2019 - 2024. All rights reserved.