📄 historyview.cpp
字号:
// HistoryView.cpp : implementation file
//
#include "stdafx.h"
#include "3d.h"
#include "HistoryView.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CHistoryView
IMPLEMENT_DYNCREATE(CHistoryView, CListView)
CHistoryView::CHistoryView()
{
//m_plist = new CColorListCtrl();
m_plist = &GetListCtrl();
fntCurWnd.CreateFont(-12,6,0,0,FW_NORMAL,FALSE,FALSE,FALSE,GB2312_CHARSET,
OUT_DEFAULT_PRECIS,CLIP_DEFAULT_PRECIS,DEFAULT_QUALITY,
DEFAULT_PITCH|FF_MODERN,"宋体");
}
CHistoryView::~CHistoryView()
{
}
BEGIN_MESSAGE_MAP(CHistoryView, CListView)
//{{AFX_MSG_MAP(CHistoryView)
ON_THREAD_MESSAGE(WM_DISPDATA,OnDispData)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CHistoryView drawing
void CHistoryView::OnDraw(CDC* pDC)
{
CDocument* pDoc = GetDocument();
// TODO: add draw code here
}
/////////////////////////////////////////////////////////////////////////////
// CHistoryView diagnostics
#ifdef _DEBUG
void CHistoryView::AssertValid() const
{
CListView::AssertValid();
}
void CHistoryView::Dump(CDumpContext& dc) const
{
CListView::Dump(dc);
}
#endif //_DEBUG
/////////////////////////////////////////////////////////////////////////////
// CHistoryView message handlers
void CHistoryView::OnInitialUpdate()
{
CListView::OnInitialUpdate();
DWORD dwStyle = GetWindowLong( m_plist->m_hWnd, GWL_STYLE );
if ((dwStyle & LVS_TYPEMASK) != LVS_REPORT )
SetWindowLong( m_plist->m_hWnd, GWL_STYLE, (dwStyle & ~LVS_TYPEMASK) | LVS_REPORT );
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);
m_ListImage.Create(IDB_BITMAPMSG, 16, 0, RGB(0, 255, 0));
m_plist->SetImageList(&m_ListImage, LVSIL_SMALL);
// 创建初始列
LV_COLUMN lvcol;
lvcol.mask = LVCF_WIDTH|LVCF_TEXT|LVCF_FMT;
lvcol.fmt=LVCFMT_CENTER;
lvcol.cx=66;
lvcol.pszText="3D期数";
m_plist->InsertColumn(0,&lvcol);
lvcol.cx=66;
lvcol.pszText="中奖号码";
m_plist->InsertColumn(1,&lvcol);
CString strtmp = "";
for(int i=0;i < 10;i++)
{
strtmp.Format("%d",i);
lvcol.cx = 25;
lvcol.pszText = (LPSTR)(LPCTSTR)strtmp;
m_plist->InsertColumn(i+2,&lvcol);
}
lvcol.cx = 25;
lvcol.pszText = "fg";
m_plist->InsertColumn(12,&lvcol);
for(i=0;i < 10;i++)
{
strtmp.Format("%d",i);
lvcol.cx = 25;
lvcol.pszText = (LPSTR)(LPCTSTR)strtmp;
m_plist->InsertColumn(i+13,&lvcol);
}
lvcol.cx = 25;
lvcol.pszText = "fg";
m_plist->InsertColumn(i+23,&lvcol);
for(i=0;i < 10;i++)
{
strtmp.Format("%d",i);
lvcol.cx = 25;
lvcol.pszText = (LPSTR)(LPCTSTR)strtmp;
m_plist->InsertColumn(i+24,&lvcol);
}
lvcol.cx=50;
lvcol.pszText = "和值";
m_plist->InsertColumn(34,&lvcol);
lvcol.cx=80;
lvcol.pszText = "012路";
m_plist->InsertColumn(35,&lvcol);
lvcol.cx=80;
lvcol.pszText = "奇偶数";
m_plist->InsertColumn(36,&lvcol);
lvcol.cx=80;
lvcol.pszText = "大小数";
m_plist->InsertColumn(36,&lvcol);
}
void CHistoryView::OnDispData(WPARAM wparam,LPARAM lparam)
{
m_plist->DeleteAllItems();
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 = "";
CString str = "";
UINT m[3];
for(int i=0;i<ncount;i++)
{
m_pdata = &parray->GetAt(i);
m_plist->InsertItem(i,"",1);
m[0] = m_pdata->uBNo;
m[1] = m_pdata->uSNo;
m[2] = m_pdata->uGNo;
strtmp.Format("%d",m_pdata->uItemNo);
m_plist->SetItemText(i,0,strtmp);
m_plist->SetItemText(i,1,m_pdata->strbsg);
for(int j=0;j<10;j++)
{
if(j == m[0])
{
strtmp.Format("%d",j);
}
else
{
strtmp = "";
}
m_plist->SetItemText(i,j+2,strtmp);
}
//对于隔离百位-十位,十位-个位的栅栏涂色
m_plist->SetItemText(i,12,"**");
for(j=0;j<10;j++)
{
if(j == m[1])
{
strtmp.Format("%d",j);
}
else
{
strtmp = "";
}
m_plist->SetItemText(i,j+13,strtmp);
}
//对于隔离百位-十位,十位-个位的栅栏涂色
m_plist->SetItemText(i,23,"**");
for(j=0;j<10;j++)
{
if(j == m[2])
{
strtmp.Format("%d",j);
}
else
{
strtmp = "";
}
m_plist->SetItemText(i,j+24,strtmp);
}
strtmp.Format("%d",m_pdata->uCountValue);
m_plist->SetItemText(i,34,strtmp);
/////////////////////////
//判断012路情况
for(j=0;j<3;j++)
{
switch(m[j]%3)
{
case 0:
strtmp = "0";
break;
case 1:
strtmp = "1";
break;
case 2:
strtmp = "2";
break;
default:
break;
}
str += strtmp;
}
m_plist->SetItemText(i,35,str);
str = "";
//判断奇偶
for(j=0;j<3;j++)
{
switch(m[j]%2)
{
case 0:
strtmp = "偶";
break;
case 1:
strtmp = "奇";
break;
default:
break;
}
str += strtmp;
}
m_plist->SetItemText(i,36,str);
str = "";
//判断大小数
for(j=0;j<3;j++)
{
int ntmp = m[j]-5;
if(ntmp >= 0)
strtmp = "大";
else
strtmp = "小";
str += strtmp;
}
m_plist->SetItemText(i,37,str);
str = "";
/////////////////////////
}
m_plist->UpdateData(TRUE);
parray->RemoveAll();
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -