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

📄 account.cpp

📁 Visual_C++.NET精彩案例237.rar
💻 CPP
字号:
// Account.cpp : 实现文件
//

#include "stdafx.h"
#include "MFCSample.h"
#include "Account.h"


// CAccount

IMPLEMENT_DYNCREATE(CAccount, CCmdTarget)
CAccount::CAccount()
: m_balance(0)
{
	EnableAutomation();
	
	// 为了使应用程序在 OLE 自动化对象处于活动状态时保持
	//	运行,构造函数调用 AfxOleLockApp。
	
	AfxOleLockApp();
}

CAccount::~CAccount()
{
	// 为了在用 OLE 自动化创建所有对象后终止应用程序,
	// 	析构函数调用 AfxOleUnlockApp。
	
	AfxOleUnlockApp();
}


void CAccount::OnFinalRelease()
{
	// 当释放自动化对象的最后一个引用
	//时调用 OnFinalRelease。基类将自动
	//删除该对象。请在调用基类之前添加
	//对象所需的其他清理。

	CCmdTarget::OnFinalRelease();
}


BEGIN_MESSAGE_MAP(CAccount, CCmdTarget)
END_MESSAGE_MAP()


BEGIN_DISPATCH_MAP(CAccount, CCmdTarget)

	DISP_PROPERTY_EX(CAccount, "Balance", GetBalance, SetBalance, VT_I4)
	DISP_FUNCTION(CAccount, "Post", Post, VT_BSTR, VTS_I4)

END_DISPATCH_MAP()

// 注意:我们添加 IID_IAccount 支持
//以支持来自 VBA 的类型安全绑定。此 IID 必须同附加到 .IDL 文件中的
//调度接口的 GUID 匹配。

// {261230F3-6798-494E-9CD2-D51FAADF8A92}
static const IID IID_IAccount =
{ 0x261230F3, 0x6798, 0x494E, { 0x9C, 0xD2, 0xD5, 0x1F, 0xAA, 0xDF, 0x8A, 0x92 } };

BEGIN_INTERFACE_MAP(CAccount, CCmdTarget)
	INTERFACE_PART(CAccount, IID_IAccount, Dispatch)
END_INTERFACE_MAP()

// {4753AC79-3885-4176-9560-162AFE53FFAC}
IMPLEMENT_OLECREATE_FLAGS(CAccount, "MFCSample.Account", afxRegApartmentThreading, 0x4753ac79, 0x3885, 0x4176, 0x95, 0x60, 0x16, 0x2a, 0xfe, 0x53, 0xff, 0xac)


// CAccount 消息处理程序

long CAccount::GetBalance() 
{
	return m_balance;
}

void CAccount::SetBalance(long nNewValue) 
{
	m_balance=nNewValue;
}

BSTR CAccount::Post(long lAmount) 
{
	CString strResult;
	
	if((m_balance+lAmount)<0)  //??
	{		
		strResult.Format("Error. Balance(%ld) can't be overdrawn by %ld.",m_balance,-lAmount);		
	}
	else
	{	
		m_balance += lAmount;
		strResult.Format("you'v just %s %ld, balance is %ld now!",
			((lAmount >= 0) ? _T("Credit") : _T("Debit")),lAmount,m_balance);		
	}
	return strResult.AllocSysString();
}

⌨️ 快捷键说明

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