除了我的主要表单,我需要我的表单通知我的主表单并隐藏我最小化它们(而不是最小化到桌面窗口)。
如何做到这一点?
我的表单是这样创建的:How to make my Forms always to be on top my main form?
答案 0 :(得分:5)
处理WM_SYSCOMMAND
消息以检测最小化:
type
TMyForm = class(TForm)
....
protected
procedure WMSysCommand(var Message: TWMSysCommand); message WM_SYSCOMMAND;
....
end;
....
procedure TMyForm.WMSysCommand(var Message: TWMSysCommand);
begin
if Message.CmdType and $FFF0 = SC_MINIMIZE then
Hide
else
inherited;
end;
您也可以通过您选择的任何机制在此时通知主表单。