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

📄 formdlg.cpp

📁 实现简单的分割视图并在其中实现计数器功能,以及简单的绘图
💻 CPP
字号:
// FormDlg.cpp : implementation file
//

#include "stdafx.h"
#include "viewcut.h"
#include "FormDlg.h"
#include "viewcutView.h"
#include "MainFrm.h"

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

/////////////////////////////////////////////////////////////////////////////
// FormDlg

IMPLEMENT_DYNCREATE(FormDlg, CFormView)

FormDlg::FormDlg()
	: CFormView(FormDlg::IDD)
{
	//{{AFX_DATA_INIT(FormDlg)
	m_num1 = 0.0;
	m_num2 = 0.0;
	m_result = 0.0;
	//}}AFX_DATA_INIT
}

FormDlg::~FormDlg()
{
}

void FormDlg::DoDataExchange(CDataExchange* pDX)
{
	CFormView::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(FormDlg)
	DDX_Text(pDX, IDC_NUM1, m_num1);
	DDX_Text(pDX, IDC_NUM2, m_num2);
	DDX_Text(pDX, IDC_RESULT, m_result);
	//}}AFX_DATA_MAP
}


BEGIN_MESSAGE_MAP(FormDlg, CFormView)
	//{{AFX_MSG_MAP(FormDlg)
	ON_BN_CLICKED(IDC_ADD, OnAdd)
	ON_BN_CLICKED(IDC_DIV, OnDiv)
	ON_BN_CLICKED(IDC_CLEAR, OnClear)
	ON_BN_CLICKED(IDC_MUL, OnMul)
	ON_BN_CLICKED(IDC_SUB, OnSub)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// FormDlg diagnostics

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

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

/////////////////////////////////////////////////////////////////////////////
// FormDlg message handlers

void FormDlg::OnAdd() 
{
	UpdateData();
  m_result=m_num1+m_num2;
  UpdateData(false);
  result=m_result;
	CViewcutApp * p=(CViewcutApp *)AfxGetApp();
	CMainFrame * pFrame=(CMainFrame *) p->m_pMainWnd;
	CViewcutView * pView1=(CViewcutView *)pFrame->GetActiveView();
	CViewcutView * pView2=(CViewcutView *)pFrame->m_splitter.GetPane(0,1);
	pView2->Invalidate();
	
}

void FormDlg::OnDiv() 
{
	UpdateData();
  if(m_num2!=0)
  {
  m_result=m_num1/m_num2;
  }
  else
  {
	  AfxMessageBox("分母不能为零");
  }
  UpdateData(false);
   result=m_result;
CViewcutApp * p=(CViewcutApp *)AfxGetApp();
	CMainFrame * pFrame=(CMainFrame *) p->m_pMainWnd;
	CViewcutView * pView1=(CViewcutView *)pFrame->GetActiveView();
	CViewcutView * pView2=(CViewcutView *)pFrame->m_splitter.GetPane(0,1);
	pView2->Invalidate();
		
}

void FormDlg::OnClear() 
{
	m_result=m_num1=m_num2=0;
    UpdateData(false);
    result=m_result;
    CViewcutApp * p=(CViewcutApp *)AfxGetApp();
	CMainFrame * pFrame=(CMainFrame *) p->m_pMainWnd;
	CViewcutView * pView1=(CViewcutView *)pFrame->GetActiveView();
	CViewcutView * pView2=(CViewcutView *)pFrame->m_splitter.GetPane(0,1);
	pView2->Invalidate();
	
}

void FormDlg::OnMul() 
{
	 UpdateData();
  m_result=m_num1*m_num2;
  UpdateData(false);
   result=m_result;
	CViewcutApp * p=(CViewcutApp *)AfxGetApp();
	CMainFrame * pFrame=(CMainFrame *) p->m_pMainWnd;
	CViewcutView * pView1=(CViewcutView *)pFrame->GetActiveView();
	CViewcutView * pView2=(CViewcutView *)pFrame->m_splitter.GetPane(0,1);
	pView2->Invalidate();
	
}

void FormDlg::OnSub() 
{
	UpdateData();
  m_result=m_num1-m_num2;
  UpdateData(false);
   result=m_result;
	CViewcutApp * p=(CViewcutApp *)AfxGetApp();
	CMainFrame * pFrame=(CMainFrame *) p->m_pMainWnd;
	CViewcutView * pView1=(CViewcutView *)pFrame->GetActiveView();
	CViewcutView * pView2=(CViewcutView *)pFrame->m_splitter.GetPane(0,1);
	pView2->Invalidate();
	
}

⌨️ 快捷键说明

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