// ShowBakState.cpp : implementation file
//

#include "stdafx.h"
#include "ylgl.h"
#include "ShowBakState.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// ShowBakState dialog


ShowBakState::ShowBakState(CWnd* pParent /*=NULL*/)
	: CDialog(ShowBakState::IDD, pParent)
{
	//{{AFX_DATA_INIT(ShowBakState)
		// NOTE: the ClassWizard will add member initialization here
	//}}AFX_DATA_INIT
}


void ShowBakState::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(ShowBakState)
		// NOTE: the ClassWizard will add DDX and DDV calls here
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(ShowBakState, CDialog)
	//{{AFX_MSG_MAP(ShowBakState)
	ON_WM_PAINT()
	ON_WM_CTLCOLOR()
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// ShowBakState message handlers

void ShowBakState::OnPaint() 
{
	CPaintDC dc(this); // device context for painting
	
	// TODO: Add your message handler code here
	CRect rc1,rc2,rc;
	GetDlgItem(IDC_STATIC8)->GetWindowRect(rc1);
	GetDlgItem(IDC_STATIC9)->GetWindowRect(rc2);
	ScreenToClient(rc1);	ScreenToClient(rc2);
	CFont font;font.CreatePointFont (90, _T("����"));
	CFont *oldfont=dc.SelectObject (&font);
	

	int id[7]={IDC_STATIC1,IDC_STATIC2,IDC_STATIC3,IDC_STATIC4,IDC_STATIC5,IDC_STATIC6,IDC_STATIC7};
	int dt=7-m_pArray->GetSize ();
	for(int i=0; i<7; i++)
	{
		GetDlgItem(id[i])->GetWindowRect(rc);ScreenToClient(rc);

		if(i<dt)
		{	
			GetDlgItem(id[i])->SetWindowText("0000-00-00");
			rc.top =rc1.top ;
			rc.bottom =rc1.bottom ;
			dc.FillSolidRect (rc, RGB(127,127,127));

			rc.top =rc2.top ;
			rc.bottom =rc2.bottom ;
			dc.FillSolidRect (rc, RGB(127,127,127));
		}
		else
		{
			GetDlgItem(id[i])->SetWindowText(m_pArray->ElementAt (i-dt).ElementAt (0));
	
			rc.top =rc1.top ;
			rc.bottom =rc1.bottom ;
			if(m_pArray->ElementAt (i-dt).ElementAt (2)=="1")
			{
			    dc.FillSolidRect (rc, RGB(0,255,0));
				dc.DrawText("����", rc, DT_CENTER|DT_VCENTER|DT_SINGLELINE);
			}
			else
			{
			    dc.FillSolidRect (rc, RGB(255,0,0));
				dc.DrawText("���", rc, DT_CENTER|DT_VCENTER|DT_SINGLELINE);
			}

			rc.top =rc2.top ;
			rc.bottom =rc2.bottom ;
			if(m_pArray->ElementAt (i-dt).ElementAt (1)=="1")
			{
			    dc.FillSolidRect (rc, RGB(0,255,0));
				dc.DrawText("����", rc, DT_CENTER|DT_VCENTER|DT_SINGLELINE);
			}
			else
			{
			    dc.FillSolidRect (rc, RGB(255,0,0));
				dc.DrawText("���", rc, DT_CENTER|DT_VCENTER|DT_SINGLELINE);
			}
		}
	}

	dc.SelectObject (oldfont);
	// Do not call CDialog::OnPaint() for painting messages
}

BOOL ShowBakState::OnInitDialog() 
{
	CDialog::OnInitDialog();
	
	// TODO: Add extra initialization here
	CString str;
	str="\r\n\r\n   1. ����������ԭƬ�Ƿ񱸷ݼ��,������ԭƬδ���������صĶ�ʧ����.\r\n   2. ϵͳ��������ڵı���״̬,������������ɫ,δ����Ϊ��ɫ.\r\n   3. ��ȷ��������Ϊ������һ������Ӳ��(��ԭ���Ϻ���Ƭ����ͬһ������Ӳ��)\r\n   4. �뼰ʱ֪ͨ��˾�����˻�����Ա���,������Ҫ���뾭������ϵ.";
	GetDlgItem(IDC_STATIC18)->SetWindowText(str);
	return TRUE;  // return TRUE unless you set the focus to a control
	              // EXCEPTION: OCX Property Pages should return FALSE
}

HBRUSH ShowBakState::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor) 
{
	HBRUSH hbr = CDialog::OnCtlColor(pDC, pWnd, nCtlColor);
	
	// TODO: Change any attributes of the DC here
	if (nCtlColor==CTLCOLOR_STATIC && pWnd->GetDlgCtrlID ()==IDC_STATIC18)
	{
		pDC-> SetBkMode(TRANSPARENT); //�������屳��Ϊ͸��
		return (HBRUSH)::GetStockObject(WHITE_BRUSH); // ���ñ���ɫ
	} 
	// TODO: Return a different brush if the default is not desired
	return hbr;
}