这是设置:
我有两个视图在两个不同的vcl表单中实现.对于其中一个我应用了一种风格,使它看起来像一个触摸优化的地铁应用程序.可以根据应用程序的设置切换这些表单.(显示触摸优化视图开/关)
这工作得很好.我重写Application.MainForm,旧表单关闭,新表单出现(并获得焦点).
我希望在Windows 10中实现自动化.作为附加视图模式,我提供了一个"自动检测"选项:
WM_SETTINGCHANGE.这是通过在桌面模式和平板电脑模式之间切换发送的.HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\ImmersiveShell\TabletMode这就是问题所在:
旧表单被销毁,弹出新表单并Application.MainForm引用新表单.之后,平板电脑模式的开始屏幕弹出并显示在所有窗口的最顶部.因此,我的新触控优化形式在此屏幕后消失并失去焦点.如果我将视图固定到桌面视图并将窗口10切换到平板电脑模式,则不会出现此行为.在这种情况下,我的应用程序保持焦点并最大化自身(这样就不会创建任何形式).
到目前为止我尝试过的:
Application.MainForm.BringToFront这不起作用.FormStyle := fsStayOnTop(需要重点关注)和SetForeground(Application.MainForm.Handle)来自WinAPI的调用.有任何想法吗?
我使用IProgressDialog接口来创建一个Windows-Vista风格的ProgressDialog,如下所示:

在Windows资源管理器中复制,粘贴和移动文件时显示的对话框通常会提供一个"更多详细信息"按钮,提供有关当前进度的更多信息.

有关IProgressDialog界面是否有可能显示和使用此按钮?
最好的祝福