我正在使用显示为全屏的模态表单。ShowModal()
我设法通过覆盖虚拟方法来做到这一点。
function TfrmComptoir.ShowModal: Integer;
begin
FullScreen := ReadFromIni('Config.ini', Self.Name, 'FullScreen', False);
if FullScreen then
begin
BorderStyle := bsNone;
WindowState := wsMaximized;
width := Screen.Width;
Height := Screen.Height;
end else
begin
BorderStyle := bsSizeable;
WindowState := wsMaximized;
end;
Result := inherited;
end;
这是我显示表单的过程:
procedure TfrmPrincipal.btnComptoirClick(Sender: TObject);
begin
frmComptoir := TfrmComptoir.Create(nil);
try
frmComptoir.ShowModal;
finally
FreeAndNil(frmComptoir);
end;
end;
在我的模态表单上,我有一个按钮可以让用户在全屏和普通模式之间切换。这是问题所在。我无法ShowModal()
再次调用该方法,因为出现错误:
无法制作可见的窗口模式
我能做些什么来解决这个问题?