Я нашел очень мало документации, когда дело доходит до C ++ Feature Pack, и все примеры, которые я нашел, все являются одним и тем же примером. Проблема, с которой я столкнулся, включает EnableAutomaticButton в цветовой панели. Если я установил цвет по умолчанию на черный, как показано в следующем коде, нажатие кнопки сделает цвет белым (ffffff). После проверки возвращаемого значения я обнаружил, что он возвращает -1, то есть другими словами FALSE и не возвращает черный цвет, но все остальное возвращает правильно, даже цветные фишки во всплывающем окне.
CMFCPropertyGridProperty* pGroup2 = new CMFCPropertyGridProperty(_T("View"));
CMFCPropertyGridColorProperty* pColorProp = new CMFCPropertyGridColorProperty(_T("Color"), RGB(0, 0, 0), NULL, _T("Specifies the default View color"));
pColorProp->EnableOtherButton(_T("Other..."),TRUE,TRUE);
pColorProp->EnableAutomaticButton(_T("Default"),RGB(0,0,0),TRUE);
pColorProp->SetColor(RGB(0,0,0));
pColorProp->SetColumnsNumber(5);
pGroup2->AddSubItem(pColorProp);
да, GetColor (); вернуть -1 для автоматического выбора. Так что попробуйте что-то вроде: —
m_Colour = m_ColourBut.GetColor();
// Handle the default colour selection.
if (m_Colour == -1)
{
m_Colour = m_ColourBut.GetAutomaticColor();
}