ShowColorDlg Example for C++ 5.0 and later

void CDialogs::OnShowColorDlg()
{
	HRESULT hr;
	int nRet;

	ILEADRasterDlgKrn_U *m_pRasterDlgKrn = NULL;
	hr = CoCreateInstance(CLSID_LEADRasterDlgKrn_U,
		NULL,
		CLSCTX_ALL,
		IID_ILEADRasterDlgKrn_U,
		(LPVOID*)&m_pRasterDlgKrn);

	ILEADRasterDlgClr_U *m_pRasterDlgClr = NULL;
	hr = CoCreateInstance(CLSID_LEADRasterDlgClr_U,
		NULL,
		CLSCTX_ALL,
		IID_ILEADRasterDlgClr_U,
		(LPVOID*)&m_pRasterDlgClr);

	nRet = m_pRasterDlgKrn->InitDlg(INIT_WITH_COLOR);

	m_pRasterDlgClr->UIFlags = COLOR_SHOW_OLDCOLOR  |
		COLOR_SHOW_NEWCOLOR              |
		COLOR_SHOW_NAME                  |
		COLOR_COLORSPACE_SHOW_HUE        |
		COLOR_COLORSPACE_SHOW_BRIGHTNESS |
		COLOR_COLORSPACE_SHOW_WHEEL      |
		COLOR_COLORSPACE_SHOW_RGB        |
		COLOR_COLORSPACE_SHOW_CMY        |
		COLOR_COLORSPACE_SHOW_CMYK       |
		COLOR_COLORSPACE_SHOW_LAB        |
		COLOR_COLORMODEL_SHOW_RGB        |
		COLOR_COLORMODEL_SHOW_HSB        |
		COLOR_COLORMODEL_SHOW_HLS        |
		COLOR_COLORMODEL_SHOW_CMY        |
		COLOR_COLORMODEL_SHOW_CMYK       |
		COLOR_COLORMODEL_SHOW_LAB; 

	m_pRasterDlgClr->SelectedColor = RGB(255, 255, 255); 
	m_pRasterDlgClr->Bitmap = m_pLead1.GetBitmap();

	nRet = m_pRasterDlgClr->ShowColorDlg((long)m_hWnd); 

	if (nRet == 0 && m_pRasterDlgClr->DialogStatus == DLG_OK) 
	{
		m_pLead1.Fill(m_pRasterDlgClr->SelectedColor);
	}
}