📄 feastdlg.cpp
字号:
// FeastDlg.cpp : implementation file
//
#include "stdafx.h"
#include "Feast.h"
#include "FeastDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CFeastDlg dialog
CFeastDlg::CFeastDlg(CWnd* pParent /*=NULL*/)
: CDialog(CFeastDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CFeastDlg)
// NOTE: the ClassWizard will add member initialization here
//}}AFX_DATA_INIT
// Note that LoadIcon does not require a subsequent DestroyIcon in Win32
m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}
void CFeastDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CFeastDlg)
DDX_Control(pDX, IDC_LIST1, m_ListCtrl);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CFeastDlg, CDialog)
//{{AFX_MSG_MAP(CFeastDlg)
ON_WM_PAINT()
ON_WM_LBUTTONDOWN()
ON_WM_LBUTTONUP()
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CFeastDlg message handlers
BOOL CFeastDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// Set the icon for this dialog. The framework does this automatically
// when the application's main window is not a dialog
SetIcon(m_hIcon, TRUE); // Set big icon
SetIcon(m_hIcon, FALSE); // Set small icon
CenterWindow(GetDesktopWindow()); // center to the hpc screen
b_tradition = false;
b_model = false;
b_east = false;
m_ListCtrl.MoveWindow(CRect(11,73,480,270));
m_ListCtrl.SetTextBkColor(CLR_NONE);
m_ListCtrl.InsertColumn(0,L"a");
m_ListCtrl.InsertColumn(1,L"b");
m_ListCtrl.SetColumnWidth(0,100);
m_ListCtrl.SetColumnWidth(1,370);
InitModelFeast();
// TODO: Add extra initialization here
return TRUE; // return TRUE unless you set the focus to a control
}
void CFeastDlg::OnPaint()
{
SetWindowPos(&CWnd::wndTopMost,0,0,480,272,SWP_SHOWWINDOW);
CPaintDC dc(this); // device context for painting
bmpBk.LoadBitmap(IDB_BITMAP_BKFEAST);
BITMAP bmpInfo;
bmpBk.GetBitmap(&bmpInfo);
dcMem.CreateCompatibleDC(&dc);
CBitmap *poldBmp=dcMem.SelectObject(&bmpBk);
dc.BitBlt(0,0,bmpInfo.bmWidth,bmpInfo.bmHeight,&dcMem,0,0,SRCCOPY);
dcMem.SelectObject(poldBmp);
}
void CFeastDlg::InitModelFeast()
{
m_ListCtrl.DeleteAllItems();
m_ListCtrl.InsertItem(0,L"1月1日",0);
m_ListCtrl.SetItemText(0,1,L"元旦节");
m_ListCtrl.InsertItem(1,L"3月8日",0);
m_ListCtrl.SetItemText(1,1,L"妇女节");
m_ListCtrl.InsertItem(2,L"3月12日",0);
m_ListCtrl.SetItemText(2,1,L"植树节");
m_ListCtrl.InsertItem(3,L"3月15日",0);
m_ListCtrl.SetItemText(3,1,L"消费者日");
m_ListCtrl.InsertItem(4,L"5月1日",0);
m_ListCtrl.SetItemText(4,1,L"劳动节");
m_ListCtrl.InsertItem(5,L"5月4日",0);
m_ListCtrl.SetItemText(5,1,L"青年节");
m_ListCtrl.InsertItem(6,L"5月第三个周日",0);
m_ListCtrl.SetItemText(6,1,L"助残日");
m_ListCtrl.InsertItem(7,L"6月1日",0);
m_ListCtrl.SetItemText(7,1,L"儿童节");
m_ListCtrl.InsertItem(8,L"6月6日",0);
m_ListCtrl.SetItemText(8,1,L"爱眼节");
m_ListCtrl.InsertItem(9,L"6月11日",0);
m_ListCtrl.SetItemText(9,1,L"中国人口日");
m_ListCtrl.InsertItem(10,L"6月22日",0);
m_ListCtrl.SetItemText(10,1,L"儿童慈善日");
m_ListCtrl.InsertItem(11,L"6月25日",0);
m_ListCtrl.SetItemText(11,1,L"中国土地日");
m_ListCtrl.InsertItem(12,L"7月1日",0);
m_ListCtrl.SetItemText(12,1,L"建党纪念日");
m_ListCtrl.InsertItem(13,L"8月1日",0);
m_ListCtrl.SetItemText(13,1,L"建军节");
m_ListCtrl.InsertItem(14,L"8月8日",0);
m_ListCtrl.SetItemText(14,1,L"父亲节");
m_ListCtrl.InsertItem(15,L"9月10日",0);
m_ListCtrl.SetItemText(15,1,L"教师节");
m_ListCtrl.InsertItem(16,L"9月20日",0);
m_ListCtrl.SetItemText(16,1,L"爱牙日");
m_ListCtrl.InsertItem(17,L"10月1日",0);
m_ListCtrl.SetItemText(17,1,L"国庆节");
}
void CFeastDlg::InitTraditionFeast()
{
m_ListCtrl.DeleteAllItems();
m_ListCtrl.InsertItem(0,L"正月初一",0);
m_ListCtrl.SetItemText(0,1,L"春节");
m_ListCtrl.InsertItem(1,L"元月初五",0);
m_ListCtrl.SetItemText(1,1,L"路神生日");
m_ListCtrl.InsertItem(2,L"正月十五",0);
m_ListCtrl.SetItemText(2,1,L"元宵节");
m_ListCtrl.InsertItem(3,L"二月初二",0);
m_ListCtrl.SetItemText(3,1,L"春龙节 (龙抬头)");
m_ListCtrl.InsertItem(4,L"四月初四",0);
m_ListCtrl.SetItemText(4,1,L"寒食节");
m_ListCtrl.InsertItem(5,L"四月初五",0);
m_ListCtrl.SetItemText(5,1,L"清明节");
m_ListCtrl.InsertItem(6,L"五月初五",0);
m_ListCtrl.SetItemText(6,1,L"端午节");
m_ListCtrl.InsertItem(7,L"六月初六",0);
m_ListCtrl.SetItemText(7,1,L"姑姑节");
m_ListCtrl.InsertItem(8,L"六月二十四",0);
m_ListCtrl.SetItemText(8,1,L"火把节");
m_ListCtrl.InsertItem(9,L"七月初七",0);
m_ListCtrl.SetItemText(9,1,L"七夕");
m_ListCtrl.InsertItem(10,L"七月十五",0);
m_ListCtrl.SetItemText(10,1,L"盂兰盆节");
m_ListCtrl.InsertItem(11,L"七月三十",0);
m_ListCtrl.SetItemText(11,1,L"地藏节");
m_ListCtrl.InsertItem(12,L"八月十五",0);
m_ListCtrl.SetItemText(12,1,L"中秋节");
m_ListCtrl.InsertItem(13,L"九月初九",0);
m_ListCtrl.SetItemText(13,1,L"重阳节");
m_ListCtrl.InsertItem(14,L"十月初一",0);
m_ListCtrl.SetItemText(14,1,L"祭祖节");
m_ListCtrl.InsertItem(15,L"十二月初八",0);
m_ListCtrl.SetItemText(15,1,L"腊八节");
m_ListCtrl.InsertItem(16,L"十二月二十三",0);
m_ListCtrl.SetItemText(16,1,L"小年");
m_ListCtrl.InsertItem(17,L"年三十",0);
m_ListCtrl.SetItemText(17,1,L"除夕");
}
void CFeastDlg::InitEastFeast()
{
m_ListCtrl.DeleteAllItems();
m_ListCtrl.InsertItem(0,L"2月2日",0);
m_ListCtrl.SetItemText(0,1,L"世界湿地日");
m_ListCtrl.InsertItem(1,L"2月14日",0);
m_ListCtrl.SetItemText(1,1,L"情人节");
m_ListCtrl.InsertItem(2,L"3月14日",0);
m_ListCtrl.SetItemText(2,1,L"国际警察日");
m_ListCtrl.InsertItem(3,L"3月21日",0);
m_ListCtrl.SetItemText(3,1,L"世界森林日");
m_ListCtrl.InsertItem(4,L"3月22日",0);
m_ListCtrl.SetItemText(4,1,L"世界水日");
m_ListCtrl.InsertItem(5,L"3月23日",0);
m_ListCtrl.SetItemText(5,1,L"世界气象日");
m_ListCtrl.InsertItem(6,L"4月1日",0);
m_ListCtrl.SetItemText(6,1,L"愚人节");
m_ListCtrl.InsertItem(7,L"4月2日",0);
m_ListCtrl.SetItemText(7,1,L"儿童图书日");
m_ListCtrl.InsertItem(8,L"4月7日",0);
m_ListCtrl.SetItemText(8,1,L"世界卫生日");
m_ListCtrl.InsertItem(9,L"5月17日",0);
m_ListCtrl.SetItemText(9,1,L"世界电信日");
m_ListCtrl.InsertItem(10,L"5月第二个周日",0);
m_ListCtrl.SetItemText(10,1,L"母亲节");
m_ListCtrl.InsertItem(11,L"5月31日",0);
m_ListCtrl.SetItemText(11,1,L"世界无烟日");
m_ListCtrl.InsertItem(12,L"6月5日",0);
m_ListCtrl.SetItemText(12,1,L"世界环境日");
m_ListCtrl.InsertItem(13,L"6月26日",0);
m_ListCtrl.SetItemText(13,1,L"世界禁毒日");
m_ListCtrl.InsertItem(14,L"6月第三个周日",0);
m_ListCtrl.SetItemText(14,1,L"父亲节");
m_ListCtrl.InsertItem(15,L"7月1日",0);
m_ListCtrl.SetItemText(15,1,L"世界建筑日");
m_ListCtrl.InsertItem(16,L"9月8日",0);
m_ListCtrl.SetItemText(16,1,L"世界扫盲日");
m_ListCtrl.InsertItem(17,L"9月21日",0);
m_ListCtrl.SetItemText(17,1,L"世界和平日");
m_ListCtrl.InsertItem(18,L"9月27日",0);
m_ListCtrl.SetItemText(18,1,L"世界旅游日");
m_ListCtrl.InsertItem(19,L"10月5日",0);
m_ListCtrl.SetItemText(19,1,L"世界教师日");
m_ListCtrl.InsertItem(20,L"10月9日",0);
m_ListCtrl.SetItemText(20,1,L"世界邮政日");
m_ListCtrl.InsertItem(21,L"10月16日",0);
m_ListCtrl.SetItemText(21,1,L"国际粮食日");
m_ListCtrl.InsertItem(22,L"11月10日",0);
m_ListCtrl.SetItemText(22,1,L"世界青年日");
m_ListCtrl.InsertItem(23,L"12月3日",0);
m_ListCtrl.SetItemText(23,1,L"残疾人日");
m_ListCtrl.InsertItem(24,L"12月7日",0);
m_ListCtrl.SetItemText(24,1,L"国际民航日");
m_ListCtrl.InsertItem(25,L"12月10日",0);
m_ListCtrl.SetItemText(25,1,L"世界人权日");
m_ListCtrl.InsertItem(26,L"12月24日",0);
m_ListCtrl.SetItemText(26,1,L"平安夜");
m_ListCtrl.InsertItem(27,L"12月25日",0);
m_ListCtrl.SetItemText(27,1,L"圣诞节");
}
void CFeastDlg::OnLButtonDown(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
//传统节日
if(point.x>181&&point.x<253&&point.y<42)
{
DrawBmp(IDB_BITMAP_TRADITION,0);
b_tradition=true;
InitTraditionFeast();
if(b_model)
{
DrawBmp(IDB_BITMAP_ANMODEL,1);
b_model = false;
}
if(b_east)
{
DrawBmp(IDB_BITMAP_ANEAST,2);
b_east = false;
}
}
else if(point.x>251&&point.x<323&&point.y<42) //现代节日
{
DrawBmp(IDB_BITMAP_MODEL,1);
b_model=true;
InitModelFeast();
if(b_tradition)
{
DrawBmp(IDB_BITMAP_ANTRAD,0);
b_tradition = false;
}
if(b_east)
{
DrawBmp(IDB_BITMAP_ANEAST,2);
b_east = false;
}
}
else if(point.x>321&&point.x<393&&point.y<42) //西方节日
{
DrawBmp(IDB_BITMAP_EAST,2);
b_east=true;
InitEastFeast();
if(b_tradition)
{
DrawBmp(IDB_BITMAP_ANTRAD,0);
b_tradition = false;
}
if(b_model)
{
DrawBmp(IDB_BITMAP_ANMODEL,1);
b_model = false;
}
}
else if(point.x>439&&point.y<42) //关闭
{
DrawBmp(IDB_BITMAP_CLOSE,3);
m_ListCtrl.DeleteAllItems();
}
CDialog::OnLButtonDown(nFlags, point);
}
void CFeastDlg::OnLButtonUp(UINT nFlags, CPoint point)
{
// TODO: Add your message handler code here and/or call default
if(point.x>439&&point.y<42) //关闭
{
AfxGetApp()->m_pMainWnd->SendMessage(WM_CLOSE);
}
CDialog::OnLButtonUp(nFlags, point);
}
void CFeastDlg::DrawBmp(UINT scrID, int tmp)
{
CClientDC dc(this);
dcMem.CreateCompatibleDC(&dc);
CBitmap bmp;
bmp.LoadBitmap(scrID);
dcMem.SelectObject(&bmp);
dc.BitBlt(181+72*tmp,0,72,42,&dcMem,0,0,SRCCOPY);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -