如何防止用户点击时激活表单?

rio*_*ter 2 delphi winapi vcl c++builder

我有一个主窗体和非模态自动完成窗体.当用户点击自动填充表单中的列表时,如何防止用户激活自动填充表单?

因此,基本上我希望自动完成表单在用户单击时接收鼠标单击消息,但永远不会变为活动状态,因为它会导致主窗体中的第三方组件出现问题,而我无法控制.

Ale*_*ost 6

覆盖表单的CreateParams方法,并将WS_EX_NOACTIVATE样式添加到扩展样式.

procedure TForm1.CreateParams(var Params: TCreateParams);
begin
  inherited;

  Params.WindowClass.ExStyle := Params.WindowClass.ExStyle or WS_EX_NOACTIVATE;
end;
Run Code Online (Sandbox Code Playgroud)

(从内存写的代码,可能包含错别字)