⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dataview.cpp

📁 这是一个3D彩票统计查询方面的一个软件
💻 CPP
字号:
// DataView.cpp : implementation file
//

#include "stdafx.h"
#include "3d.h"
#include "DataView.h"

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

/////////////////////////////////////////////////////////////////////////////
// CDataView

IMPLEMENT_DYNCREATE(CDataView, CFormView)

CDataView::CDataView()
: CFormView(CDataView::IDD)
{
	//{{AFX_DATA_INIT(CDataView)
		// NOTE: the ClassWizard will add member initialization here
	//}}AFX_DATA_INIT
}

CDataView::~CDataView()
{
}

void CDataView::DoDataExchange(CDataExchange* pDX)
{
	CFormView::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CDataView)
		DDX_Control(pDX, IDC_LIST1, m_plist);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CDataView, CFormView)
	//{{AFX_MSG_MAP(CDataView)
		ON_THREAD_MESSAGE(WM_DISPDATA,OnDispData)
	ON_WM_PAINT()
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CDataView diagnostics

#ifdef _DEBUG
void CDataView::AssertValid() const
{
	CFormView::AssertValid();
}

void CDataView::Dump(CDumpContext& dc) const
{
	CFormView::Dump(dc);
}
#endif //_DEBUG

/////////////////////////////////////////////////////////////////////////////
// CDataView message handlers

void CDataView::OnInitialUpdate() 
{
	CFormView::OnInitialUpdate();
	
	m_plist.Init(35);

//	m_plist.SetBkColor(RGB(255,255,255));
	m_plist.SetFont(&fntCurWnd);
	m_plist.SetExtendedStyle(LVS_EX_GRIDLINES |LVS_REPORT|LVS_ALIGNTOP  );
	m_plist.EnableWindow(TRUE);

    CStringArray Head;
    CByteArray   Cols;
	// 创建初始列
    Head.Add("3D期数");
    Cols.Add(60);       
    Head.Add("中奖号码");
    Cols.Add(60); 
	CString strtmp = "";
	for(int i=0;i < 30;i++)
	{
		if((i == 10) || (i == 20) )
		{
			strtmp = "gl";
			Head.Add(strtmp);
			Cols.Add(20);
		}
		
		strtmp.Format("%d",i%10);
		Head.Add(strtmp);
		Cols.Add(25);
	}

	Head.Add(" 和值 ");
	Cols.Add(50);

   m_plist.InitCtrl(&Head, &Cols);

}


void CDataView::OnDispData(WPARAM wparam,LPARAM lparam)
{

	m_plist.DeleteAllItems();
	//tested
	//m_plist.SetTextColor(RGB(0,20,200));
	
	L3DARRAY* parray = new L3DARRAY;
	parray = (L3DARRAY*)wparam;
	L3DDATA*  m_pdata = new L3DDATA;
	
	int ncount = parray->GetSize();
	CString strtmp = "";
	UINT  m[3];


	for(int i=0;i<ncount;i++)
	{
		m_pdata = &parray->GetAt(i);

		m[0] = m_pdata->uBNo;
		m[1] = m_pdata->uSNo;
		m[2] = m_pdata->uGNo;
		
		strtmp.Format("%d",m_pdata->uItemNo);
		strarray.Add(strtmp);

		strtmp.Format("%d",m_pdata->ubsg);
		strarray.Add(strtmp);

		for(int j=0;j<10;j++)
		{
			if(j == m[0])
			{
				//m_plist.SetItemBackgndColor(RGB(100,100,100),i,j);
				//m_plist.SetItemBackgndColor(RGB(100,100,100),0,3);
				//m_plist.SetItemTextColor(RGB(0,0,255),i,j);	
				strtmp.Format("%d",j);
				strarray.Add(strtmp);
			}
			
			else
			{
				strarray.Add("");
			}
		}

		//对于隔离百位-十位,十位-个位的栅栏涂色
		strarray.Add("g");
		//m_plist.SetItemBackgndColor(RGB(0,100,100),i,12);
		
		for(j=0;j<10;j++)
		{
			if(j == m[1])
			{
				//m_plist.SetItemBackgndColor(RGB(100,100,100),i,j);
				//m_plist.SetItemBackgndColor(RGB(100,100,100),2,1);
				//m_plist.SetItemTextColor(RGB(0,0,255),i,j);	
				strtmp.Format("%d",j);
				strarray.Add(strtmp);
			}

			else
			{
				strarray.Add("");
			}
		}
		
		//对于隔离百位-十位,十位-个位的栅栏涂色
		strarray.Add("g");	
		
		for(j=0;j<10;j++)
		{
			if(j == m[2])
			{
				//m_plist.SetItemBackgndColor(RGB(100,100,100),i,j);
				//m_plist.SetItemBackgndColor(RGB(100,100,100),0,3);
				//m_plist.SetItemTextColor(RGB(0,0,255),i,j);	
				strtmp.Format("%d",j);
				strarray.Add(strtmp);
			}
			
			else
			{
				strarray.Add("");
			}
		}
		
		strtmp.Format("%d",m_pdata->uCountValue);
		strarray.Add (strtmp);
	
		m_plist.AddItem(&strarray);
		
		//m_plist.SendMessage(LVM_SETEXTENDEDLISTVIEWSTYLE, 0, (LPARAM)LVS_EX_FULLROWSELECT); 
		m_plist.SetItemBackgndColor(RGB(0,0,255),i,3);	
	    m_plist.SetItemTextColor(RGB(255,0,0),i,5);
		strarray.RemoveAll ();
	}


	m_plist.UpdateData(TRUE);
	parray->RemoveAll();

}

void CDataView::OnPaint() 
{

	if (IsIconic())
	{
		CPaintDC dc(this); // device context for painting

		SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);

		// Center icon in client rectangle
		int cxIcon = GetSystemMetrics(SM_CXICON);
		int cyIcon = GetSystemMetrics(SM_CYICON);
		CRect rect;
		GetClientRect(&rect);
		int x = (rect.Width() - cxIcon + 1) / 2;
		int y = (rect.Height() - cyIcon + 1) / 2;

		// Draw the icon
		//dc.DrawIcon(x, y, m_hIcon);
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -