1

我正在将我的应用程序(Android、iOS)从 Delphi 10 Seattle 更新到 Delphi 10.2 Tokyo。我有一些使用透明度的表格。我用它来创建像屏幕一样的小弹出窗口,它仍然在透明表单下方的背景中显示先前表单的一部分。

我现在的问题是透明度属性设置为 True 的表单根本不显示。似乎调用透明表单的原始表单在它之上。

在 Windows 上,表单运行正常,在 iOS 上,我可以看到一些组件,有些组件的大小/位置错误。

我该如何解决这个问题?

下面的代码示例:

procedure TForm1.Button1Click(Sender: TObject);
var
  FrmTransParentForm: TFrmTransParentForm;
begin
  inherited;
  FrmTransParentForm := TFrmTransParentForm.Create(nil);
  FrmTransParentForm.Show;
end;

procedure TFrmTransParentForm.Button1Click(Sender: TObject);
begin
  Close;
end;

procedure TFrmTransParentForm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  Action := TCloseAction.caFree;
end;

TFrmTransParentForm 表单是一个普通表单,只有一个按钮在屏幕中心对齐,并且表单属性透明度设置为 true。

4

1 回答 1

0

我有同样的问题。为了显示消息(显示消息样式),我创建了一个带有标签和 OK 按钮的专用表单。打开应用程序时会自动创建此表单。有时,在“显示”之后,当它处于活动状态时它不可见,即下面的所有字段都不再可访问,如果我按下返回按钮电话,这些字段再次变为活动状态。所有人都认为这只是一个显示问题。在 OnShow 中,我尝试指定 BringToFront,并将 FormStyle 属性设置为 StayOnTop。

我的印象是这是一个内存问题,因为当它发生时,如果我关闭手机上的所有应用程序或重新启动,消息就会显示得很好。

这种现象出现在几个手机品牌上。谢谢弗兰克

于 2017-05-18T08:07:14.167 回答