【VC开源代码栏目提醒】:本文主要为网学会员提供实例11Dlg.cpp,希望对需要实例11Dlg.cpp网友有所帮助,学习一下!
// 实例11Dlg.cpp : 实现文件
//
#include "stdafx.h"
#include "实例11.h"
#include "实例11Dlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#endif
// CMy11Dlg 对话框
CMy11Dlg::CMy11Dlg(CWnd* pParent /*=NULL*/)
: CDialog(CMy11Dlg::IDD, pParent), max_bet(0), bet(0)
{
m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}
void CMy11Dlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
DDX_Control(pDX, IDC_BUTTON1, die1);
DDX_Control(pDX, IDC_BUTTON2, die2);
DDX_Control(pDX, IDC_BUTTON3, die3);
DDX_Control(pDX, IDC_BUTTON4, die4);
DDX_Control(pDX, IDC_BUTTON5, die5);
DDX_Control(pDX, IDC_BUTTON6, die6);
}
BEGIN_MESSAGE_MAP(CMy11Dlg, CDialog)
ON_WM_PAINT()
ON_WM_QUERYDRAGICON()
//}}AFX_MSG_MAP
ON_BN_CLICKED(IDC_BUTTON8, OnBnClickedButton8)
END_MESSAGE_MAP()
// CMy11Dlg 消息处理程序
BOOL CMy11Dlg::OnInitDialog()
{
CDialog::OnInitDialog();
// 设置此对话框的图标。当应用
程序主窗口不是对话框时,框架将自动
// 执行此操作
SetIcon(m_hIcon, TRUE); // 设置大图标
SetIcon(m_hIcon, FALSE); // 设置小图标
// TODO:在此添加额外的初始化代码
HICON m_hIcon1,m_hIcon2,m_hIcon3,m_hIcon4,m_hIcon5,m_hIcon6;
m_hIcon1 = AfxGetApp()->LoadIcon(IDI_ICON1);
m_hIcon2 = AfxGetApp()->LoadIcon(IDI_ICON2);
m_hIcon3 = AfxGetApp()->LoadIcon(IDI_ICON3);
m_hIcon4 = AfxGetApp()->LoadIcon(IDI_ICON4);
m_hIcon5 = AfxGetApp()->LoadIcon(IDI_ICON5);
m_hIcon6 = AfxGetApp()->LoadIcon(IDI_ICON6);
die1.SetIcon(m_hIcon1);
die2.SetIcon(m_hIcon2);
die3.SetIcon(m_hIcon3);
die4.SetIcon(m_hIcon4);
die5.SetIcon(m_hIcon5);
die6.SetIcon(m_hIcon6);
max_bet=100;
char str[20];
itoa(max_bet,str,10);
GetDlgItem(IDC_EDIT2)->SetWindowText(str);
return TRUE; // 除非设置了控件的焦点,否则返回 TRUE
}
// 如果向对话框添加最小化按钮,则需要下面的代码
// 来绘制该图标。对于使用
文档/视图模型的 MFC 应用程序,
// 这将由框架自动完成。
void CMy11Dlg::OnPaint()
{
if (IsIconic())
{
CPaintDC dc(this); // 用于绘制的设备上下文
SendMessage(WM_ICONERASEBKGND, reinterpret_cast<WPARAM>(dc.GetSafeHdc()), 0);
// 使图标在
工作矩形中居中
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;
// 绘制图标
dc.DrawIcon(x, y, m_hIcon);
}
else
{
CDialog::OnPaint();
}
}
//当用户拖动最小化窗口时
系统调用此函数取得光标显示。
HCURSOR CMy11Dlg::OnQueryDragIcon()
{
return static_cast<HCURSOR>(m_hIcon);
}
void CMy11Dlg::OnBnClickedButton8()
{
die1.SetIcon(NULL);
die2.SetIcon(NULL);
die3.SetIcon(NULL);
die4.SetIcon(NULL);
die5.SetIcon(NULL);
die6.SetIcon(NULL);
CMy11Dlg dlg;
CString str;
HICON Icon;
int num1,num2;
GetDlgItem(IDC_EDIT1)->GetWindowText(str);
bet=atoi(str);
if(bet>max_bet)
{
dlg.MessageBox("你没有这么多资金了,下注少一点吧!");
}
srand((unsigned)time(NULL));
do
{
num1=rand()*10/RAND_MAX;
num2=rand()*10/RAND_MAX;
}while((num1<=6)&&(num2<=6));
switch(num1)
{
case 1:
Icon = AfxGetApp()->LoadIcon(IDI_ICON1);
die1.SetIcon(Icon);
break;
case 2:
Icon = AfxGetApp()->LoadIcon(IDI_ICON2);
die2.SetIcon(Icon);
break;
case 3:
Icon = AfxGetApp()->LoadIcon(IDI_ICON3);
die3.SetIcon(Icon);
break;
case 4:
Icon = AfxGetApp()->LoadIcon(IDI_ICON4);
die4.SetIcon(Icon);
break;
case 5:
Icon = AfxGetApp()->LoadIcon(IDI_ICON5);
die5.SetIcon(Icon);
break;
case 6:
Icon = AfxGetApp()->LoadIcon(IDI_ICON6);
die6.SetIcon(Icon);
break;
}
if(num1<num2)
{
dlg.MessageBox("你输了,下次努力!");
max_bet=max_bet-bet;
char str[20];
itoa(max_bet,str,10);
GetDlgItem(IDC_EDIT2)->SetWindowText(str);
}
else
{
if(num1>num2)
{
dlg.MessageBox("你赢了,继续努力!");
max_bet=max_bet-bet;
char str[20];
itoa(max_bet,str,10);
GetDlgItem(IDC_EDIT2)->SetWindowText(str);
}
else
{
dlg.MessageBox("打平,在来一次吧!");
}
}
}