Открытие сокращённого или полного диалога выбора цвета. Вид диалога зависит от того, можно ли показать начальный цвет (C : TColor)

в сокращённом диалоге или нужно раскрывать его полностью. Возвращает выбранный пользователем цвет.

 

 

Code:

{ **** UBPFD *********** by kladovka.net.ru ****

>> Открытие сокращённого или полного диалога выбора цвета

 

Вид диалога зависит от того, можно ли показать начальный цвет (C : TColor)

в сокращённом диалоге или нужно раскрывать его полностью.

Возвращает выбранный пользователем цвет.

 

Зависимости: Windows, Messages, SysUtils, Classes, DIALOGS;

Автор:       Igor Kovalevsky,  Владикавказ

Copyright:   Igor Kovalevsky

 

********************************************** }

 

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;

 

Пример использования:

Code:

Form1.Color := SelectColor

Добавить комментарий

Не использовать не нормативную лексику.

Просьба писать ваши замечания, наблюдения и все остальное,
что поможет улучшить предоставляемую информацию на этом сайте.

ВСЕ КОММЕНТАРИИ МОДЕРИРУЮТСЯ ВРУЧНУЮ, ТАК ЧТО СПАМИТЬ БЕСПОЛЕЗНО!


Защитный код
Обновить