C++ C++ C# C# ASP.NET Security ASP.NET Security ASM ASM Скачать Скачать Поиск Поиск Хостинг Хостинг  
  Программа для работы с LPT портом...
Язык: .NET — ©Alexey...
  "ASP.NET Atlas" – AJAX в исполнении Micro...
Язык: .NET — ©legigor@mail.ru...
  "Невытесняющая" Многопоточность...
Язык: C/C++ — ©...
  01.05.2010 — Update World C++: Сборник GPL QT исходников
  15.12.2007 — Весь сайт целиком можно загрузить по ссылкам из раздела Скачать
Хостинг:
Windows 2003, ASP.NET 2.0
бесплатный и от 80 руб./мес


   Отправить письмо
Кулабухов Артем, Беларусь




 129 - Стандартный диалог выбора цвета / MFC шаг за шагом / Visual C++

Шаг 129 - Стандартный диалог выбора цвета

Стандартное диалоговое окно выбора цвета выглядит так.

129.gif (4754 b)

Давайте создадим приложение на базе диалогового окна с кнопкой, по которой будет произведен вызов этого диалогового окна. Вот код по нажатию на кнопку.

void CTestColorDlg::OnButton1() 
{
	CColorDialog cc(NULL,NULL,NULL);
	if (cc.DoModal()==IDOK)
	{
		color=cc.GetColor();
	}
}
Есть стандартный класс CColorDialog, который ответственен за создание диалогового окна выбора цветов. Конструктор класса перегружает все параметры по умолчанию и поэтому в принципе их можно не указывать. Упоминание NULL у меня три раза только для демонстрации того, что эти три параметра существуют.
CColorDialog( COLORREF clrInit = 0, DWORD dwFlags = 0, CWnd* pParentWnd = NULL );

В таком виде программа тоже будет работать.

void CTestColorDlg::OnButton1() 
{
	CColorDialog cc;
	if (cc.DoModal()==IDOK)
	{
		color=cc.GetColor();
	}
}
После объявления класса его можно запустить на выполнение использовавшись DoModal, и если после выбора была нажата кнопка OK (IDOK) можно получить цвета использовав getColor. Результат вернется в формате COLORREF, поэтому переменная color должна быть объявленна как
COLORREF color;
На панели выбора цветов есть как основные цвета так и дополнительные. Когда панель зарускается первый раз дополнительные цвета пустые. Пользователь может их дополнять. Но после выхода из приложения они сбросятся. При необходимости доступа к дополнительным цветам есть функция GetSavedCustomColors, которая вернет указатель на массив из 16 элементов COLORREF
static COLORREF * GetSavedCustomColors( );

Загрузить проект | | |
Автор Каев Артем.
[AD]