delphi 如何将字符串转换为TColor值?

vd8tlhqk  于 2022-12-12  发布在  其他
关注(0)|答案(2)|浏览(384)

我正在创建一个 Delphi 窗体,并希望在运行时为其分配背景颜色。此代码:

Form1.Color := clSkyBlue;

我的问题是,我把颜色名称作为字符串存储在表中。因此,当我从表中获取颜色名称并将其赋值给Form1.Color时,上面的语句变为:

var
  ColorName: string;
....
Form1.Color := ColorName;

这会导致编译时错误。
如何将字符串转换为TColor值?

ippsafx7

ippsafx71#

您可以使用以下转换函数(这两个函数都适用于颜色常量):

在您的情况下,需要使用StringToColor函数:

Form1.Color := StringToColor('clSkyBlue');
6xfqseft

6xfqseft2#

您可以在GraphUtil.pas中找到所有这些例程。
{将TColor转换为Web色彩常数,例如#FFFFFF }

function ColorToWebColorStr(Color: TColor): string;

{将TColor转换为Web颜色名称,如果颜色不匹配,则返回Web颜色值。}

function ColorToWebColorName(Color: TColor): string;
function WebColorToRGB(WebColor: Integer): Integer;
function RGBToWebColorStr(RGB: Integer): string;
function RGBToWebColorName(RGB: Integer): string;

{将Web颜色名称转换为等价的TColor,如果不匹配,则返回clNone}

function WebColorNameToColor(WebColorName: string): TColor;

{将Web样式颜色字符串(#FFFFFF或FFFFFF)转换为TColor }

function WebColorStrToColor(WebColor: string): TColor;
  • 汉斯回答 *

相关问题