A: The tricky thing is to make sure the palette window always appears "in front" of the main window, but not necessarily "on top" of all other windows. This effect can be achieved by overriding the CreateParams method for your palette form. For example,
procedure TForm2.CreateParams( var Params: TCreateParams );
begin
inherited CreateParams( Params );
with Params do
begin
Style := Style or ws_Overlapped;
WndParent := Form1.Handle;
end;
end;