我通过使用' Showmessage'来显示文件的保存位置。 (在Win 7中)。 当文件路径很长时,它会被截断并插入elipsis。 例如 路径
C:\Users\Admin\Documents\SubFolderOne\AnotherSubFolder\MyFile.csv
显示为
C:\Users\Admin\Documents\SubFolderOne\Ano...\MyFile.csv
有没有办法让消息框更宽并显示所有文件名和路径?
我读过这个 http://zarko-gajic.iz.hr/displaying-long-non-breakable-text-file-path-in-messagedlg-truncationellipsis-issues/ 这解释了一些推理并为TTaskDialog提供了一个相当不令人满意的方法,而且我也意识到我可以让自己的表单以与Showmessage相同的方式运行,但我想知道是否有一个更简单的解决方案只使用Showmessage。
答案 0 :(得分:1)
使用
ShowMessage
只是一个更简单的解决方案吗?
没有。
我可以想到三种显而易见的方法,但无疑还有更多。
创建自己的对话
没有什么特别神奇的对话。您可以自己完美地创建它们,因此可以完全控制它们的外观。当然,缺点是很难匹配原生平台的外观。特别是当您考虑通常希望支持的所有不同Windows版本时。
使用CreateMessageDialog
并自定义此Delphi表格
您可以调用RTL函数CreateMessageDialog
以获取可用于显示消息对话框的Delphi表单。然后,您可以以任何方式自定义此对话框。
使用任务对话框API
Vista中引入的任务对话框API可以控制对话框宽度。致电TaskDialogIndirect
,并为cxWidth
指定非零值。
答案 1 :(得分:0)
在ShowMessage放置之前:
UseLatestCommonDialogs:= false;
我使用Delphi 10.2,它可以正常工作。