Можно создавать компоненты вообще на экране ( на рабочем столе то бишь ).
Напр:
Код:
var h: HWND;
b: TPanel;
procedure TForm1.FormCreate(Sender: TObject);
begin
h := GetDesktopWindow();
b := TPanel.Create(Owner);
b.Parent := Form1;
windows.SetParent(b.Handle, h);
b.Left := random(Screen.Width);
b.Top := random(Screen.Height);
b.Caption := 'Panel';
b.OnClick:=Form1.MouseClick;
end;
procedure TForm1.MouseClick(Sender: TObject);
begin
MessageBeep(0);
end;
А на панель что угодно запихать можно, только для создаваемых на панели компонентов (TCanvas напр) ставь
Код:
windows.SetParent(newcomp.Handle, b.Handle);