>>40
>showにすると親ウインドウにフォーカスが移せないですが…。
そんなことはありません。たとえば Form1 から Form2 を Show するとき

uses
Unit2;

procedure TForm1.Button1Click(Sender: TObject);
begin
Form2.Show;
SetFocus;
end;

とします。検索のダイアログのようにしたければ、 Form2 の BorderStyle を
bsDialog に設定し、CreateParams() を以下のように override します。

type
TForm2 = class(TForm)
private
{ Private 宣言 }
public
procedure CreateParams(var Params: TCreateParams); override;
end;

var
Form2: TForm2;

implementation

{$R *.DFM}

uses
Unit1;

procedure TForm2.CreateParams(var Params: TCreateParams);
begin
inherited CreateParams(Params);
Params.WndParent := Form1.Handle;
end;