Открытие сокращённого или полного диалога выбора цвета
Материал из DRKB
Открытие сокращённого или полного диалога выбора цвета[править | править код]
{ **** UBPFD *********** by kladovka.net.ru ****
>> Открытие сокращённого или полного диалога выбора цвета
Вид диалога зависит от того, можно ли показать начальный цвет (C : TColor)
в сокращённом диалоге или нужно раскрывать его полностью.
Возвращает выбранный пользователем цвет.
Зависимости: Windows, Messages, SysUtils, Classes, DIALOGS;
Copyright: Igor Kovalevsky
Дата: 1 июня 2002 г.
********************************************** }
function SelectColor(C : TColor) : TColor;
const
BasicColors = [$00, $40, $80, $A0, $C0, $FF];
begin
with TColorDialog.Create(Application) do
begin
Color := C;
if (GetRValue(Color) in BasicColors)
and (GetGValue(Color) in BasicColors)
and (GetBValue(Color) in BasicColors) then
begin
Options := Options - [cdFullOpen];
end
else
begin
Options := Options + [cdFullOpen];
end;
if Execute then
begin
Result := Color
end
else
begin
Result := clNone;
end;
Free;
end;
end;
Пример использования:
Form1.Color := SelectColor(Form1.Color);
ID: 01222