我正在使用Delphi 2010,如果我创建一个新的VCL应用程序,在表单上放一个TPanel并将其"color"属性设置为"clInactiveCaptionText"它会显示正确的颜色.
颜色正确:

但是,如果我输入此颜色的十六进制值($ 00434E54 --- R 67,G 78,B 84),则显示不正确.我应该注意,无论是否启用运行时主题,结果都是一样的.
颜色错误:

在指定其十六进制值时,为什么它不能正确显示这种颜色?
Del*_*ics 17
正如其他人所指出的那样,RGB值在内部存储为BGR(即TColor值,或Windows调用的值COLORREF),这就是为什么当您指定自定义颜色代码时,您获得不同的颜色.
为了在RGB格式中指定颜色时保持理智,可以使用Windows单元中的RGB()函数; 这接受"自然"/直观RGB顺序(作为字节值)的参数并产生适当的TColor/ COLORREF值:
MyPanel.Color := RGB(67, 78, 84);
Run Code Online (Sandbox Code Playgroud)
或者如果十六进制更容易:
MyPanel.Color := RGB($43, $4E, $54);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2109 次 |
| 最近记录: |