Фокус - это только одна из тех вещей, которая становится немного странной, когда вы создаете форму. Формы на самом деле не предназначены для этого. Более чистым дизайном будет использование рамы.
я есть дочерняя форма 'frmTest' и основная форма 'TfrmMain'. Я устанавливаю основную форму как родительскую для frmTest следующим образом:
unit Main;
INTERFACE
USES
System.SysUtils, System.Classes, Vcl.Forms, Test, Vcl.StdCtrls, Vcl.Controls;
type
TfrmMain = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
public
end;
IMPLEMENTATION {$R *.dfm}
procedure TfrmMain.Button1Click(Sender: TObject);
VAR frmTest: TChildForm;
begin
Application.CreateForm(TChildForm, frmTest);
//frmTest:= TForm1.Create(Self);
frmTest.Parent:= Self;
frmTest.Show;
frmTest.SetFocus;
end;
unit test; { THIS IS THE CHILD }
INTERFACE
USES
System.SysUtils, System.Classes, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Vcl.Samples.Spin;
TYPE
TChildForm = class(TForm)
Edit1: TEdit;
SpinEdit1: TSpinEdit;
private
public
end;
IMPLEMENTATION {$R *.dfm}
end.
Но элементы управления (поле редактирования, правка вращения и т. Д.) В frmInsertImg не принимают фокус от мыши, но могут быть сфокусированы с помощью Tab.
Что я делаю неправильно?