delphi - Delphi - Colordialog 选择黑色作为颜色
问题描述
我是德尔福的新手,我需要一些帮助。
我有一个程序,一个背景换色器,带有TColorDialog
. 这在其他方面效果很好,但是当我关闭它ColorDialog
而不从中选择颜色时会出现问题。然后背景变为黑色,它还将黑色保存为.ini
文件中的颜色“0”。
我的代码:
procedure TEinstellungenF.BtnBackgroundClick(Sender: TObject);
var filename:String;
ini:TIniFile;
begin // Speichert die im ColorDialog ausgewählten Background Farben in der Ini
filename := ExtractFilePath(ParamStr(0)) + 'Einstellungen.ini';
ini := TIniFile.Create(filename);
ColorDialog1.Execute();
try
ini.WriteInteger('Farben','Hintergrundfarbe', ColorDialog1.Color);
finally
ini.Free;
end;
FrmMain.Color := TColor(Ini.ReadInteger('Farben','Hintergrundfarbe',ColorDialog1.Color));
Color := TColor(Ini.ReadInteger('Farben','Hintergrundfarbe',ColorDialog1.Color));
end;```
解决方案
检查返回值ColorDialog1.Execute
并采取相应措施。
从文档:
Execute 打开颜色选择对话框,当用户选择一种颜色并单击 OK 时返回 true,或者当用户取消时返回 false。
推荐阅读
- ruby-on-rails - PandocRuby:设置默认选项(以便在我调用#convert 时使用它们)?
- jquery - 检查 div 是否包含与另一个 div 中的 aria-label 值相同的文本
- vue.js - Axios / Json for 循环,如何防止此错误?
- visual-studio - 如何在 Visual Studio 2019 中更改默认浏览器?
- python - 如何在matplotlib中将刻度设置为2的幂?
- python - 我无法更改 numpy 数组的形状
- vba - 如何将两张 PowerPoint 幻灯片导出为 PDF 文件?
- android - 重复条目错误重复条目:android/support/v4/app/INotificationSideChannel$Stub$Proxy.class
- asp.net-core - Redis 与缓存的连接失败
- python - 如何在 python 中的 Requests.PUT 中传递正文参数?