Выбор цвета


Эта статья описывает типовой код, который отображает на экране диалоговое окно Цвет (Color), когда пользователь может выбрать цвет. Этот типовой код сначала инициализирует структуру CHOOSECOLOR, а затем вызывает функцию ChooseColor, чтобы изобразить диалоговое окно. Если функция возвращает значение ИСТИНА (TRUE), то это служит признаком того, что пользователь выбрал цвет, а типовой код использует выбранный цвет для создания новой сплошной кисти.

Этот пример использует структуру CHOOSECOLOR для инициализации диалогового окна как ниже указано:

Пример

CHOOSECOLOR cc;                 // структура стандартного
                                // диалогового окна
static COLORREF acrCustClr[16]; // массив доп. цветов 
HWND hwnd;                      // окно - владелец
HBRUSH hbrush;                  // дескриптор кисти
static DWORD rgbCurrent;        // начальный выбранный цвет

// Инициализация структуры CHOOSECOLOR 
ZeroMemory(&cc, sizeof(CHOOSECOLOR));
cc.lStructSize = sizeof(CHOOSECOLOR);
cc.hwndOwner = hwnd;
cc.lpCustColors = (LPDWORD) acrCustClr;
cc.rgbResult = rgbCurrent;
cc.Flags = CC_FULLOPEN | CC_RGBINIT;
 
if (ChooseColor(&cc)==TRUE) 
   {
    hbrush = CreateSolidBrush(cc.rgbResult);
    rgbCurrent = cc.rgbResult; 
   }

 

Назад в оглавление темы
На главную страницу темы

Hosted by uCoz