- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在主窗体上添加一个Tbutton和一个TSaveDialog
在 SaveDialog1 的属性中将“ofOverwritePrompt”设置为 True
用途:
procedure TForm1.Button1Click(Sender: TObject);
begin
SaveDialog1.Execute();
end;
运行应用程序。按按钮执行保存对话框。尝试保存到已存在的文件。如果您想要替换该文件,则会出现一个消息框。按取消。到目前为止一切都很好。关闭应用程序。
转至项目/选项/应用程序/外观并选择自定义样式(例如 Amakrits)。将 Amakrits 设置为默认样式。
(使用 TFileSaveDialog 将给出相同的结果)
如果我使用 Delphi XE8 编译并运行应用程序,那就没问题了,因为即使选择了其他样式,保存对话框窗口似乎也使用默认的 Windows 样式。
编辑:我有 Windows 10 专业版。源代码使用 Delphi 10.1 Berlin 编译为 win32。替换消息框部分隐藏。仅显示了左上角的一小部分,见图。
这里是用XE8 win32编译的:
诗。我使用默认的 100% 比例因子。
用win64(Delphi 10.1 Berlin)编译似乎没问题:
所以,编译为 win32 对我来说不起作用,但 64 位可以。有什么线索吗?
编辑:尝试使用“GetSaveFileName(OFN)”在 win32 中也不起作用(win 64 也可以):
最佳答案
您可以使用 VCL Styles Utils
的对话框样式代码来避免此问题。项目。
只需将这些单元添加到您的项目中即可。
uses
Vcl.Styles.Utils.Menus, //Popup and Shell Menus (class #32768)
Vcl.Styles.Utils.Forms, //dialogs box (class #32770)
Vcl.Styles.Utils.StdCtrls, //buttons, static, and so on
Vcl.Styles.Utils.ComCtrls, //SysTreeView32, SysListView32
Vcl.Styles.Utils.ScreenTips, //tooltips_class32 class
Vcl.Styles.Utils.SysControls,
Vcl.Styles.Utils.SysStyleHook;
{$R *.dfm}
procedure TForm26.Button1Click(Sender: TObject);
begin
UseLatestCommonDialogs := false;
SaveDialog1.Execute();
end;
关于delphi - 在 Delphi 10.1 Berlin 中使用 VCL 样式时,TSaveDialog 的属性 "ofOverwritePrompt"不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38485043/
我正在尝试在 Delphi XE6 中使用 TSaveDialog: if not SaveDialog1.Execute(0) then Exit; 调用立即返回false,而不显示任何对话框
使用 RAD Studio (Delphi) v10.2.1 进行开发(东京版本 1)在 Windows 10“创意者更新”64 位上,但进行 32 位开发。 该应用程序是具有多个后台线程的 VCL,
在 TSaveDialog 中我添加了两种具有相同扩展名的格式: Format A|*.form Format B|*.form Format C|*.diff 现在我想确定用户选择的格式: var
我的应用程序基于 MainForm、DetailForms 和 DialogForms。在任务栏上,我可以看到 MainFormButton 和 DetailForms。因此我使用: procedur
已经有一个关于 TSaveDialog 和 [ofOverwritePromt] 的简单问题,位于 Delphi overwrite existing file on save dialog . 所以
将我的问题提到这个答案:https://stackoverflow.com/a/4016075/698266 ,特别是第 3 步说“否则,如果应用程序过去使用过打开或另存为对话框,则选择最近使用的路径
我想向 TSaveDialog 添加一个复选框或其他 VCL 组件。 坎图说, The new Vista Open and Save dialog boxes (implemented by the
创建新的 VCL Forms 应用程序 在主窗体上添加一个Tbutton和一个TSaveDialog 在 SaveDialog1 的属性中将“ofOverwritePrompt”设置为 True 用途
我是一名优秀的程序员,十分优秀!