TForm1 = class(TForm)
:
protected
procedure CreateParams(var Params: TCreateParams); override;
procedure WMActivate(Var msg:tMessage); message WM_ACTIVATE;
end;
procedure TForm1.CreateParams(var Params: TCreateParams);
begin
inherited;
Params.Style := WS_POPUP or WS_THICKFRAME;
end;
procedure TForm4.WMActivate(var msg: tMessage);
begin
if Msg.WParam = WA_INACTIVE then
Hide; // or close
end;
这将给你一个很大的弹出窗口与一个玻璃框。没有额外的编程,你不能移动窗口,因为标准的windows标题丢失了。当另一个窗口获得焦点时,FormDeactivate事件将被触发…但仅当您切换到同一应用程序中的另一个窗体时。要处理它而不管应用程序切换了什么,请使用消息捕获方法。