Показать сообщение отдельно
  #1  
Старый 03.09.2006, 23:16
Аватар для Decoding
Decoding Decoding вне форума
Местный
 
Регистрация: 03.06.2006
Адрес: Почту найдете на моем сайте
Сообщения: 576
Версия Delphi: D10.2
Репутация: 214
По умолчанию Смена родителя...

Приведенный ниже код создает кнопку на рабочем столе.
Код:
procedure TForm1.B_Click(Sender: TObject);
begin
   ShowMessage( 'aaa' );
end;

procedure TForm1.Button1Click(Sender: TObject);
var
  h: HWND;
  b: TButton;
begin
   h := FindWindow( 'Progman', 'Program Manager' );
   b := TButton.Create( Owner );
   // b.Parent := Form1;
   b.ParentWindow := h;
   b.Left := 10;
   b.Top := 10;
   b.Caption := 'Button';
   b.OnClick := B_Click;
   Windows.SetParent( b.Handle, h );
end;
Проблема в следующем. После смены родителя (Windows.SetParent( b.Handle, h )) кнопка перестает реагировать на события (в данном случае на Click). Как сменить родителя и при этом сохранить события?
Ответить с цитированием