// Mymfc7Dialog.cpp : implementation file
//

#include "stdafx.h"
#include "mymfc7.h"
#include "Mymfc7Dialog.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CMymfc7Dialog dialog


CMymfc7Dialog::CMymfc7Dialog(CWnd* pParent /*=NULL*/)
	: CDialog(CMymfc7Dialog::IDD, pParent)
{
	//{{AFX_DATA_INIT(CMymfc7Dialog)
	m_strBio = _T("");
	m_nCat = -1;
	m_strDept = _T("");
	m_bInsDis = FALSE;
	m_strEduc = _T("");
	m_nLang = -1;
	m_bInsLife = FALSE;
	m_nLoyal = 0;
	m_bInsMed = FALSE;
	m_strName = _T("");
	m_nRely = 0;
	m_strSkill = _T("");
	m_nSsn = 0;
	//}}AFX_DATA_INIT
}


void CMymfc7Dialog::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CMymfc7Dialog)
	DDX_Text(pDX, IDC_BIO, m_strBio);
	DDX_Radio(pDX, IDC_CAT, m_nCat);
	DDX_LBString(pDX, IDC_DEPT, m_strDept);
	DDX_Check(pDX, IDC_DIS, m_bInsDis);
	DDX_CBString(pDX, IDC_EDU, m_strEduc);
	DDX_CBIndex(pDX, IDC_LANG, m_nLang);
	DDX_Check(pDX, IDC_LIFE, m_bInsLife);
	DDX_Scroll(pDX, IDC_LOYAL, m_nLoyal);
	DDX_Check(pDX, IDC_MED, m_bInsMed);
	DDX_Text(pDX, IDC_NAME, m_strName);
	DDX_Scroll(pDX, IDC_RELY, m_nRely);
	DDX_CBString(pDX, IDC_SKILL, m_strSkill);
	DDX_Text(pDX, IDC_SSN, m_nSsn);
	DDV_MinMaxInt(pDX, m_nSsn, 0, 999999999);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CMymfc7Dialog, CDialog)
	//{{AFX_MSG_MAP(CMymfc7Dialog)
	ON_BN_CLICKED(IDC_SPECIAL, OnSpecial)
	ON_BN_CLICKED(IDC_OK, OnClickedOk)
	ON_WM_HSCROLL()
	ON_WM_CTLCOLOR()
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CMymfc7Dialog message handlers

void CMymfc7Dialog::OnSpecial() 
{
	// TODO: Add your control notification handler code here
	TRACE("CMymfc7Dialog::OnSpecial\n");
}

BOOL CMymfc7Dialog::OnInitDialog() 
{
	
	// Be careful to call CDialog::OnInitDialog
    // only once in this function
    CListBox* pLB = (CListBox*) GetDlgItem(IDC_DEPT);
    pLB->InsertString(-1, "Documentation");
    pLB->InsertString(-1, "Accounting");
    pLB->InsertString(-1, "Human Relations");
    pLB->InsertString(-1, "Security");

	CScrollBar* pSB = (CScrollBar*) GetDlgItem(IDC_LOYAL);
	pSB->SetScrollRange(nMin, nMax);

	pSB = (CScrollBar*) GetDlgItem(IDC_RELY);
	pSB->SetScrollRange(nMin, nMax);

    // Call after initialization
    return CDialog::OnInitDialog();
}

void CMymfc7Dialog::OnOK() 
{
	// TODO: Add extra validation here
	// dummy OnOK function -- do NOT call CDialog::OnOK()
    TRACE("CMymfc7Dialog::OnOK\n");
}


void CMymfc7Dialog::OnClickedOk() 
{
	// TODO: Add your control notification handler code here
	TRACE("CMymfc7Dialog::OnClickedOk\n");
    CDialog::OnOK();
}

void CMymfc7Dialog::OnHScroll(UINT nSBCode, UINT nPos, CScrollBar* pScrollBar) 
{
	// TODO: Add your message handler code here and/or call default
	int nTemp1, nTemp2;

    nTemp1 = pScrollBar->GetScrollPos();
    switch(nSBCode) {
    case SB_THUMBPOSITION:
        pScrollBar->SetScrollPos(nPos);
        break;
    case SB_LINELEFT: // left arrow button
        nTemp2 = (nMax - nMin) / 10;
        if ((nTemp1 - nTemp2) > nMin) {
            nTemp1 -= nTemp2;
        }
        else {
            nTemp1 = nMin;
        }
        pScrollBar->SetScrollPos(nTemp1);
        break;
    case SB_LINERIGHT: // right arrow button
        nTemp2 = (nMax - nMin) / 10;
        if ((nTemp1 + nTemp2) < nMax) {
            nTemp1 += nTemp2;
        }
        else {
            nTemp1 = nMax;
        }
        pScrollBar->SetScrollPos(nTemp1);
        break;
    } 
}

HBRUSH CMymfc7Dialog::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) 
{
	
	if (nCtlColor == CTLCOLOR_EDIT) {
      pDC->SetBkColor(RGB(255, 255, 0)); // yellow edit control background
	  pDC->SetTextColor(RGB(255, 0, 0)); // red edit control text
      return m_hYellowBrush;
	}
	
	if (nCtlColor == CTLCOLOR_BTN) {
      pDC->SetBkColor(RGB(255, 0, 0));    // red
      return m_hRedBrush;
	}
   
	return CDialog::OnCtlColor(pDC, pWnd, nCtlColor);

}


