Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
User interface 关于Firemonkey不在Delphi西雅图显示的提示_User Interface_Delphi_Firemonkey_Delphi 10.1 Berlin - Fatal编程技术网

User interface 关于Firemonkey不在Delphi西雅图显示的提示

User interface 关于Firemonkey不在Delphi西雅图显示的提示,user-interface,delphi,firemonkey,delphi-10.1-berlin,User Interface,Delphi,Firemonkey,Delphi 10.1 Berlin,Firemonkey再次获得了控件的提示属性,这很好,至少在Delphi Berlin和Seattle是这样。 然而,实现似乎有点缺陷 一个奇怪的问题是,提示的显示似乎与表单的边框图标属性有关。如果边框图标保留默认值(最大化、最小化、系统菜单),则会显示提示。但是如果我更改一些边框图标,提示将不再显示。我看不出任何逻辑,所以它看起来像一个bug。我在FMX.Forms单元中跟踪了一些代码,但找不到与边框图标的任何关系。TriggerControlHint和其他方法中的提示似乎设置正确 有没有人遇

Firemonkey再次获得了控件的提示属性,这很好,至少在Delphi Berlin和Seattle是这样。 然而,实现似乎有点缺陷

一个奇怪的问题是,
提示
的显示似乎与表单的
边框图标
属性有关。如果
边框图标
保留默认值(最大化、最小化、系统菜单),则会显示提示。但是如果我更改一些边框图标,提示将不再显示。我看不出任何逻辑,所以它看起来像一个bug。我在
FMX.Forms
单元中跟踪了一些代码,但找不到与边框图标的任何关系。
TriggerControlHint
和其他方法中的提示似乎设置正确

有没有人遇到过这样的问题,你有没有设法解决

还有其他问题,比如提示不能在Windows上转换为西雅图的XE8项目上工作。这是在这个问题中提到的。我通过重新创建dproj文件修复了这个问题,它可能与默认清单/主题有关

此外,放置在TLayout上的控件的提示也不会显示,因为布局没有ShowHint属性。听起来不太符合逻辑,但至少可以通过手动设置每个控件的ShowHint属性来克服


在通过
FMX进行更多跟踪后,QC将该问题报告为。表单
我发现了错误

TCommonCustomForm.Create
方法的末尾,使用

if not (csDesigning in ComponentState) then
  FSharedHint := THint.CreateNewInstance(Handle);
但是,当更改边框图标时,以及在其他情况下,它会调用TCommonCustomForm.Recreate方法,该方法也会重新创建窗口句柄,因此提示不再链接到它。 为了修复它,我还必须通过在
recreate
方法中的
finally
子句之前添加几行来重新创建提示:

if Visible and ([TFmxFormState.Showing] * FormState = []) then
  FWinService.ShowWindow(Self);
// Added lines
if not (csDesigning in ComponentState) then
begin
  FSharedHint.Free;
  FSharedHint := THint.CreateNewInstance(Handle);
end;

据报道,我在那里看到了至少一个问题。我写了一篇评论,里面有解决方案,以防有人看到。啊,好的。这将是伟大的,如果你添加一个链接到QP关于这个问题。这意味着每个有相同问题的人都会在QP上找到它并投赞成票。