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

📄 insert.cpp

📁 讲mfc的书
💻 CPP
字号:
// Insert.cpp : implementation file
// Simple insert piece dialog

#include "stdafx.h"
#include "bfield.h"
#include "Insert.h"

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

///////////////////////
// CInsert dialog


CInsert::CInsert(CWnd* pParent /*=NULL*/)
        : CDialog(CInsert::IDD, pParent)
{
        //{{AFX_DATA_INIT(CInsert)
        m_Piece = -1;
        m_Dir = -1;
        //}}AFX_DATA_INIT
        m_Result='.';
}


void CInsert::DoDataExchange(CDataExchange* pDX)
{
        CDialog::DoDataExchange(pDX);
        //{{AFX_DATA_MAP(CInsert)
        DDX_Radio(pDX, IDC_CMDPost, m_Piece);
        DDX_Radio(pDX, IDC_NORTH, m_Dir);
        //}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(CInsert, CDialog)
        //{{AFX_MSG_MAP(CInsert)
        ON_BN_CLICKED(IDC_APC, OnApc)
        ON_BN_CLICKED(IDC_CMDPost, OnCMDPost)
        ON_BN_CLICKED(IDC_EAST, OnEast)
        ON_BN_CLICKED(IDC_HOW, OnHow)
        ON_BN_CLICKED(IDC_MIS, OnMis)
        ON_BN_CLICKED(IDC_NORTH, OnNorth)
        ON_BN_CLICKED(IDC_SOUTH, OnSouth)
        ON_BN_CLICKED(IDC_TANK, OnTank)
        ON_BN_CLICKED(IDC_WEST, OnWest)
        //}}AFX_MSG_MAP
END_MESSAGE_MAP()

///////////////////////
// CInsert message handlers


void CInsert::OnApc()
{
        m_Piece=PLACED_APC;
        m_Result='A';
        m_Len=LEN_APC;
        EnableOK();
}

void CInsert::OnCMDPost()
{
        m_Piece=PLACED_CP;
        m_Result='C';
        m_Len=LEN_CP;
        EnableOK();
}

void CInsert::OnEast()
{
   m_Dir=DIR_EAST;
   EnableOK();
}

void CInsert::OnHow()
{
  m_Piece=PLACED_HOW;
  m_Result='H';
  m_Len=LEN_HOW;
  EnableOK();
}

void CInsert::OnMis()
{
        m_Piece=PLACED_MIS;
        m_Result='M';
        m_Len=LEN_MIS;
        EnableOK();
}

void CInsert::OnNorth()
{
        m_Dir=DIR_NORTH;
        EnableOK();
}

void CInsert::OnSouth()
{
        m_Dir=DIR_SOUTH;
        EnableOK();
}

void CInsert::OnTank()
{
        m_Piece=PLACED_TANK;
        m_Result='T';
        m_Len=LEN_TANK;
        EnableOK();
}

void CInsert::OnWest()
{
        m_Dir=DIR_WEST;
        EnableOK();
}


void CInsert::OnOK()
{
        EndDialog(m_Result);
}

void CInsert::OnCancel()
{
        // TODO: Add extra cleanup here
        EndDialog(-1); // non standard!
}

BOOL CInsert::OnInitDialog()
{
        CDialog::OnInitDialog();
        GetDlgItem(IDOK)->EnableWindow(FALSE);
        if (m_placed&PLACED_APC) GetDlgItem(IDC_APC)->EnableWindow(FALSE);
        if (m_placed&PLACED_TANK) GetDlgItem(IDC_TANK)->EnableWindow(FALSE);
        if (m_placed&PLACED_MIS) GetDlgItem(IDC_MIS)->EnableWindow(FALSE);
        if (m_placed&PLACED_HOW) GetDlgItem(IDC_HOW)->EnableWindow(FALSE);
        if (m_placed&PLACED_CP) GetDlgItem(IDC_CMDPost)->EnableWindow(FALSE);
        return TRUE;  // return TRUE unless you set the focus to a control
                      // EXCEPTION: OCX Property Pages should return FALSE
}

void CInsert::EnableOK(void)
{
if (m_Dir!=-1&&m_Piece!=-1)
 GetDlgItem(IDOK)->EnableWindow(TRUE);
}

⌨️ 快捷键说明

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