www.pudn.com > CListBoxColorPickerST_demo.zip > GenericMFCDlg.cpp


#include "stdafx.h" 
#include "GenericMFC.h" 
#include "GenericMFCDlg.h" 
#include "ColorNames.h" 
#include "DlgShowSelected.h" 
 
#ifdef _DEBUG 
#define new DEBUG_NEW 
#undef THIS_FILE 
static char THIS_FILE[] = __FILE__; 
#endif 
 
#define IDS_MAILADDR	_T("mailto:davide_calabro@yahoo.com") 
#define IDS_WEBADDR		_T("http://www.softechsoftware.it") 
 
CGenericMFCDlg::CGenericMFCDlg(CWnd* pParent /*=NULL*/) 
	: CResizableDialog(CGenericMFCDlg::IDD, pParent) 
{ 
	//{{AFX_DATA_INIT(CGenericMFCDlg) 
		// NOTE: the ClassWizard will add member initialization here 
	//}}AFX_DATA_INIT 
	m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME); 
} 
 
void CGenericMFCDlg::DoDataExchange(CDataExchange* pDX) 
{ 
	CResizableDialog::DoDataExchange(pDX); 
	//{{AFX_DATA_MAP(CGenericMFCDlg) 
		// NOTE: the ClassWizard will add DDX and DDV calls here 
	//}}AFX_DATA_MAP 
 
	DDX_Control(pDX, IDC_LBXCOLORS1, m_lbxColors1); 
 
	DDX_Control(pDX, IDCANCEL, m_btnExit); 
 
	DDX_Control(pDX, IDC_EMAILLINK, m_EMailLink); 
	DDX_Control(pDX, IDC_HOMEPAGELINK, m_HomePageLink); 
} 
 
BEGIN_MESSAGE_MAP(CGenericMFCDlg, CResizableDialog) 
	//{{AFX_MSG_MAP(CGenericMFCDlg) 
	ON_LBN_DBLCLK(IDC_LBXCOLORS1, OnDblclkLbxColors1) 
	ON_WM_SIZE() 
	//}}AFX_MSG_MAP 
END_MESSAGE_MAP() 
 
void CGenericMFCDlg::OnSize(UINT nType, int cx, int cy)  
{ 
	CResizableDialog::OnSize(nType, cx, cy); 
	 
	if (m_lbxColors1.m_hWnd) 
		m_lbxColors1.Invalidate();	 
} // End of OnSize 
 
BOOL CGenericMFCDlg::OnInitDialog() 
{ 
	COLORREF	crBtnColor; 
 
	CResizableDialog::OnInitDialog(); 
 
	SetIcon(m_hIcon, TRUE); 
	SetIcon(m_hIcon, FALSE); 
	 
	// Calculate a color effect for hilighting the button 
	crBtnColor = ::GetSysColor(COLOR_BTNFACE) + RGB(30, 30, 30); 
 
	// Button exit 
	m_btnExit.SetIcon(IDI_CANCEL1, IDI_CANCEL4); 
	m_btnExit.SetColor(CButtonST::BTNST_COLOR_BK_IN, crBtnColor); 
	m_btnExit.SetTooltipText(_T("Close the application")); 
 
	// Set HyperLink for E-Mail 
	m_EMailLink.SetURL(IDS_MAILADDR); 
	m_EMailLink.SetUnderline(CHyperLink::ulAlways); 
 
	// Set HyperLink for Home Page 
	m_HomePageLink.SetURL(IDS_WEBADDR); 
	m_HomePageLink.SetUnderline(CHyperLink::ulAlways); 
	 
	// Preset layout 
	AddAnchor(m_btnExit.m_hWnd, BOTTOM_RIGHT); 
	AddAnchor(m_EMailLink.m_hWnd, BOTTOM_LEFT); 
	AddAnchor(m_HomePageLink.m_hWnd, BOTTOM_LEFT); 
	AddAnchor(m_lbxColors1.m_hWnd, TOP_LEFT, BOTTOM_RIGHT); 
 
	// Add colors to listbox 
	Populate(); 
 
	return TRUE; 
} // End of OnInitDialog 
 
void CGenericMFCDlg::Populate() 
{ 
	// Add colors to listbox 
	m_lbxColors1.AddString(_T("Alice Blue"), colAliceBlue); 
	m_lbxColors1.AddString(_T("Antique White"), colAntiqueWhite); 
	m_lbxColors1.AddString(_T("Aqua"), colAqua); 
	m_lbxColors1.AddString(_T("Aquamarine"), colAquamarine); 
	m_lbxColors1.AddString(_T("Azure"), colAzure); 
	m_lbxColors1.AddString(_T("Beige"), colBeige); 
	m_lbxColors1.AddString(_T("Bisque"), colBisque); 
	m_lbxColors1.AddString(_T("Black"), colBlack); 
	m_lbxColors1.AddString(_T("Blanched Almond"), colBlanchedAlmond); 
	m_lbxColors1.AddString(_T("Blue"), colBlue); 
	m_lbxColors1.AddString(_T("Blue Violet"), colBlueViolet); 
	m_lbxColors1.AddString(_T("Brown"), colBrown); 
	m_lbxColors1.AddString(_T("Burlywood"), colBurlywood); 
	m_lbxColors1.AddString(_T("Cadet Blue"), colCadetBlue); 
	m_lbxColors1.AddString(_T("Chartreuse"), colChartreuse); 
	m_lbxColors1.AddString(_T("Chocolate"), colChocolate); 
	m_lbxColors1.AddString(_T("Coral"), colCoral); 
	m_lbxColors1.AddString(_T("Cornflower Blue"), colCornflowerBlue); 
	m_lbxColors1.AddString(_T("Cornsilk"), colCornsilk); 
	m_lbxColors1.AddString(_T("Crimson"), colCrimson); 
	m_lbxColors1.AddString(_T("Cyan"), colCyan); 
	m_lbxColors1.AddString(_T("Dark Blue"), colDarkBlue); 
	m_lbxColors1.AddString(_T("Dark Cyan"), colDarkCyan); 
	m_lbxColors1.AddString(_T("Dark Golden Rod"), colDarkGoldenRod); 
	m_lbxColors1.AddString(_T("Dark Gray"), colDarkGray); 
	m_lbxColors1.AddString(_T("Dark Green"), colDarkGreen); 
	m_lbxColors1.AddString(_T("Dark Khaki"), colDarkKhaki); 
	m_lbxColors1.AddString(_T("Dark Magenta"), colDarkMagenta); 
	m_lbxColors1.AddString(_T("Dark Olive Green"), colDarkOliveGreen); 
	m_lbxColors1.AddString(_T("Dark Orange"), colDarkOrange); 
	m_lbxColors1.AddString(_T("Dark Orchid"), colDarkOrchid); 
	m_lbxColors1.AddString(_T("Dark Red"), colDarkRed); 
	m_lbxColors1.AddString(_T("Dark Salmon"), colDarkSalmon); 
	m_lbxColors1.AddString(_T("Dark Sea Green"), colDarkSeaGreen); 
	m_lbxColors1.AddString(_T("Dark Slate Blue"), colDarkSlateBlue); 
	m_lbxColors1.AddString(_T("Dark Slate Gray"), colDarkSlateGray); 
	m_lbxColors1.AddString(_T("Dark Turquoise"), colDarkTurquoise); 
	m_lbxColors1.AddString(_T("Dark Violet"), colDarkViolet); 
	m_lbxColors1.AddString(_T("Deep Pink"), colDeepPink); 
	m_lbxColors1.AddString(_T("Deep Sky Blue"), colDeepSkyBlue); 
	m_lbxColors1.AddString(_T("Dim Gray"), colDimGray); 
	m_lbxColors1.AddString(_T("Dodger Blue"), colDodgerBlue); 
	m_lbxColors1.AddString(_T("Fire Brick"), colFireBrick); 
	m_lbxColors1.AddString(_T("Floral White"), colFloralWhite); 
	m_lbxColors1.AddString(_T("Forest Green"), colForestGreen); 
	m_lbxColors1.AddString(_T("Fuchsia"), colFuchsia); 
	m_lbxColors1.AddString(_T("Gainsboro"), colGainsboro); 
	m_lbxColors1.AddString(_T("Ghost White"), colGhostWhite); 
	m_lbxColors1.AddString(_T("Gold"), colGold); 
	m_lbxColors1.AddString(_T("Golden Rod"), colGoldenRod); 
	m_lbxColors1.AddString(_T("Gray"), colGray); 
	m_lbxColors1.AddString(_T("Green"), colGreen); 
	m_lbxColors1.AddString(_T("Green Yellow"), colGreenYellow); 
	m_lbxColors1.AddString(_T("Honey Dew"), colHoneyDew); 
	m_lbxColors1.AddString(_T("Hot Pink"), colHotPink); 
	m_lbxColors1.AddString(_T("Indian Red"), colIndianRed); 
	m_lbxColors1.AddString(_T("Indigo"), colIndigo); 
	m_lbxColors1.AddString(_T("Ivory"), colIvory); 
	m_lbxColors1.AddString(_T("Khaki"), colKhaki); 
	m_lbxColors1.AddString(_T("Lavender"), colLavender); 
	m_lbxColors1.AddString(_T("Lavender Blush"), colLavenderBlush); 
	m_lbxColors1.AddString(_T("Lawngreen"), colLawngreen); 
	m_lbxColors1.AddString(_T("Lemon Chiffon"), colLemonChiffon); 
	m_lbxColors1.AddString(_T("Light Blue"), colLightBlue); 
	m_lbxColors1.AddString(_T("Light Coral"), colLightCoral); 
	m_lbxColors1.AddString(_T("Light Cyan"), colLightCyan); 
	m_lbxColors1.AddString(_T("Light Golden Rod Yellow"), colLightGoldenRodYellow); 
	m_lbxColors1.AddString(_T("Light Green"), colLightGreen); 
	m_lbxColors1.AddString(_T("Light Grey"), colLightGrey); 
	m_lbxColors1.AddString(_T("Light Pink"), colLightPink); 
	m_lbxColors1.AddString(_T("Light Salmon"), colLightSalmon); 
	m_lbxColors1.AddString(_T("Light Sea Green"), colLightSeaGreen); 
	m_lbxColors1.AddString(_T("Light Sky Blue"), colLightSkyBlue); 
	m_lbxColors1.AddString(_T("Light Slate Gray"), colLightSlateGray); 
	m_lbxColors1.AddString(_T("Light Steel Blue"), colLightSteelBlue); 
	m_lbxColors1.AddString(_T("Light Yellow"), colLightYellow); 
	m_lbxColors1.AddString(_T("Lime"), colLime); 
	m_lbxColors1.AddString(_T("Lime Green"), colLimeGreen); 
	m_lbxColors1.AddString(_T("Linen"), colLinen); 
	m_lbxColors1.AddString(_T("Magenta"), colMagenta); 
	m_lbxColors1.AddString(_T("Maroon"), colMaroon); 
	m_lbxColors1.AddString(_T("Medium Aquamarine"), colMediumAquamarine); 
	m_lbxColors1.AddString(_T("Medium Blue"), colMediumBlue); 
	m_lbxColors1.AddString(_T("Medium Orchid"), colMediumOrchid); 
	m_lbxColors1.AddString(_T("Medium Purple"), colMediumPurple); 
	m_lbxColors1.AddString(_T("Medium Sea Green"), colMediumSeaGreen); 
	m_lbxColors1.AddString(_T("Medium Slate Blue"), colMediumSlateBlue); 
	m_lbxColors1.AddString(_T("Medium Spring Green"), colMediumSpringGreen); 
	m_lbxColors1.AddString(_T("Medium Turquoise"), colMediumTurquoise); 
	m_lbxColors1.AddString(_T("Medium Violet Red"), colMediumVioletRed); 
	m_lbxColors1.AddString(_T("Midnight Blue"), colMidnightBlue); 
	m_lbxColors1.AddString(_T("Mint Cream"), colMintCream); 
	m_lbxColors1.AddString(_T("Misty Rose"), colMistyRose); 
	m_lbxColors1.AddString(_T("Moccasin"), colMoccasin); 
	m_lbxColors1.AddString(_T("Navajo White"), colNavajoWhite); 
	m_lbxColors1.AddString(_T("Navy"), colNavy); 
	m_lbxColors1.AddString(_T("Navyblue"), colNavyblue); 
	m_lbxColors1.AddString(_T("Old Lace"), colOldLace); 
	m_lbxColors1.AddString(_T("Olive"), colOlive); 
	m_lbxColors1.AddString(_T("Olive Drab"), colOliveDrab); 
	m_lbxColors1.AddString(_T("Orange"), colOrange); 
	m_lbxColors1.AddString(_T("Orange Red"), colOrangeRed); 
	m_lbxColors1.AddString(_T("Orchid"), colOrchid); 
	m_lbxColors1.AddString(_T("Pale Golden Rod"), colPaleGoldenRod); 
	m_lbxColors1.AddString(_T("Pale Green"), colPaleGreen); 
	m_lbxColors1.AddString(_T("Pale Turquoise"), colPaleTurquoise); 
	m_lbxColors1.AddString(_T("Pale Violet Red"), colPaleVioletRed); 
	m_lbxColors1.AddString(_T("Papaya Whip"), colPapayaWhip); 
	m_lbxColors1.AddString(_T("Peach Puff"), colPeachPuff); 
	m_lbxColors1.AddString(_T("Peru"), colPeru); 
	m_lbxColors1.AddString(_T("Pink"), colPink); 
	m_lbxColors1.AddString(_T("Plum"), colPlum); 
	m_lbxColors1.AddString(_T("Powder Blue"), colPowderBlue); 
	m_lbxColors1.AddString(_T("Purple"), colPurple); 
	m_lbxColors1.AddString(_T("Red"), colRed); 
	m_lbxColors1.AddString(_T("Rosy Brown"), colRosyBrown); 
	m_lbxColors1.AddString(_T("Royal Blue"), colRoyalBlue); 
	m_lbxColors1.AddString(_T("Saddle Brown"), colSaddleBrown); 
	m_lbxColors1.AddString(_T("Salmon"), colSalmon); 
	m_lbxColors1.AddString(_T("Sandy Brown"), colSandyBrown); 
	m_lbxColors1.AddString(_T("Sea Green"), colSeaGreen); 
	m_lbxColors1.AddString(_T("Sea Shell"), colSeaShell); 
	m_lbxColors1.AddString(_T("Sienna"), colSienna); 
	m_lbxColors1.AddString(_T("Silver"), colSilver); 
	m_lbxColors1.AddString(_T("Sky Blue"), colSkyBlue); 
	m_lbxColors1.AddString(_T("Slate Blue"), colSlateBlue); 
	m_lbxColors1.AddString(_T("Slate Gray"), colSlateGray); 
	m_lbxColors1.AddString(_T("Snow"), colSnow); 
	m_lbxColors1.AddString(_T("Spring Green"), colSpringGreen); 
	m_lbxColors1.AddString(_T("Steel Blue"), colSteelBlue); 
	m_lbxColors1.AddString(_T("Tan"), colTan); 
	m_lbxColors1.AddString(_T("Teal"), colTeal); 
	m_lbxColors1.AddString(_T("Thistle"), colThistle); 
	m_lbxColors1.AddString(_T("Tomato"), colTomato); 
	m_lbxColors1.AddString(_T("Turquoise"), colTurquoise); 
	m_lbxColors1.AddString(_T("Violet"), colViolet); 
	m_lbxColors1.AddString(_T("Wheat"), colWheat); 
	m_lbxColors1.AddString(_T("White"), colWhite); 
	m_lbxColors1.AddString(_T("White Smoke"), colWhiteSmoke); 
	m_lbxColors1.AddString(_T("Yellow"), colYellow); 
	m_lbxColors1.AddString(_T("Yellow Green"), colYellowGreen); 
} // End of Populate 
 
void CGenericMFCDlg::OnDblclkLbxColors1()  
{ 
	CDlgShowSelected	dlg(this); 
	int					nIndex; 
	CString				sStr; 
	COLORREF			crColor; 
 
	nIndex = m_lbxColors1.GetCurSel(); 
	if (nIndex != LB_ERR) 
	{ 
		m_lbxColors1.GetTextAndColor(nIndex, sStr, &crColor); 
		dlg.SetProperties(nIndex, sStr, crColor); 
		dlg.DoModal(); 
	} // if 
} // End of OnDblclkLbxColors1