В этой головоломке есть несколько частей.Во-первых, это функциональность, похожая на многорядную панель инструментов.Второй - это палитра цветов, который вызывается при нажатии «Редактировать цвета».
Первый можно имитировать (до некоторой степени) с помощью многострочной панели инструментов.Кажется, я вспоминаю, что у CToolBar в VC6 были некоторые проблемы с многорядными панелями инструментов, но я не уверен, возможно ли, что это было исправлено в пакете обновления (кажется, что это возможно, но я точно не помню).
Если вам это не нравится (это не будет сильно похоже на оригинал), вы будете в значительной степени зациклены на создании собственного элемента управления и помещении его в CToolBar.Пока вы только хотите имитировать элемент управления в том виде, в каком он есть, это будет не очень сложно - вы в основном передадите элементу управления массив цветовых чисел, а при щелчке он отправит уведомлениес выбранным номером цвета (или индексом номера цвета, если вы предпочитаете).Математика для этого довольно проста, если вы придерживаетесь фиксированного макета, но если вы хотите поддержать изменение макета, это может стать намного сложнее в спешке.
Для второй части, одинХорошей отправной точкой, вероятно, будет Ханс Дейтрих XColorSpectrumCtrl
.