// textclr.cpp : implementation file // #include "stdafx.h" #include "gmud32.h" #include "textclr.h" #ifdef _DEBUG #undef THIS_FILE static char BASED_CODE THIS_FILE[] = __FILE__; #endif ///////////////////////////////////////////////////////////////////////////// // CTextClrDlg dialog CTextClrDlg::CTextClrDlg(CWnd* pParent /*=NULL*/) : CDialog(CTextClrDlg::IDD, pParent) { //{{AFX_DATA_INIT(CTextClrDlg) m_iForeground = -1; m_iBackground = -1; m_bAnsi = FALSE; //}}AFX_DATA_INIT } void CTextClrDlg::DoDataExchange(CDataExchange* pDX) { CDialog::DoDataExchange(pDX); //{{AFX_DATA_MAP(CTextClrDlg) DDX_CBIndex(pDX, IDC_COMBO1, m_iForeground); DDX_CBIndex(pDX, IDC_COMBO2, m_iBackground); DDX_Check(pDX, IDC_ENABLE_ANSI, m_bAnsi); //}}AFX_DATA_MAP } BEGIN_MESSAGE_MAP(CTextClrDlg, CDialog) //{{AFX_MSG_MAP(CTextClrDlg) ON_BN_CLICKED(IDC_CHANGE_FOREGROUND_COLOR, OnChangeForegroundColor) ON_BN_CLICKED(IDC_CHANGE_BACKGROUND_COLOR, OnChangeBackgroundColor) //}}AFX_MSG_MAP END_MESSAGE_MAP() ///////////////////////////////////////////////////////////////////////////// // CTextClrDlg message handlers void CTextClrDlg::OnChangeForegroundColor() { CColorDialog dlg(m_colorForeGround,0,this); if(dlg.DoModal()==IDOK) { m_colorForeGround=dlg.GetColor(); } } void CTextClrDlg::OnChangeBackgroundColor() { CColorDialog dlg(m_colorBackGround,0,this); if(dlg.DoModal()==IDOK) { m_colorBackGround=dlg.GetColor(); } } BOOL CTextClrDlg::OnInitDialog() { CDialog::OnInitDialog(); VERIFY(m_comboForeground.SubclassDlgItem(IDC_COMBO1, this)); VERIFY(m_comboBackground.SubclassDlgItem(IDC_COMBO2, this)); int iIndex=0; // add 8 colors to the listbox (primary + secondary color only) for (int red = 0; red <= 255; red += 255) for (int green = 0; green <= 255; green += 255) for (int blue = 0; blue <= 255; blue += 255) { COLORREF col = RGB(red, green, blue); m_comboForeground.AddColorItem(col); m_comboBackground.AddColorItem(col); if(col == m_colorBackGround) m_comboBackground.SetCurSel(iIndex); if(col == m_colorForeGround) m_comboForeground.SetCurSel(iIndex); iIndex++; } CenterWindow(); return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE } void CTextClrDlg::OnOK() { UpdateData(TRUE); /* int index=0; for (int red = 0; red <= 255; red += 255) for (int green = 0; green <= 255; green += 255) for (int blue = 0; blue <= 255; blue += 255) { if(index */ m_colorBackGround=m_comboBackground.GetItemData(m_iBackground); m_colorForeGround=m_comboForeground.GetItemData(m_iForeground); CDialog::OnOK(); }