一,在vc自定义函数中传定不定个数的参数,即如format函数中的第二个参数"...",能接收任意个数参数;
二,自定义异常的抛出,即throw一个自定义异常.
函数代码列如下:
//ComboProp.h:interfacefortheCComboPropclass.
//
//////////////////////////////////////////////////////////////////////
#if!defined(AFX_COMBOPROP_H__B155C456_9EA6_42DB_87B9_30540D83B5D8__INCLUDED_)
#defineAFX_COMBOPROP_H__B155C456_9EA6_42DB_87B9_30540D83B5D8__INCLUDED_
#if_MSC_VER>1000
#pragmaonce
#endif//_MSC_VER>1000
#include"bcgpproplist.h"
classCSelItemException:publicCException//trow的异常类的定义
{
public:
CSelItemException(constint&SelIndex,constint&ItemCount)//修改构造函数,使catch时可以获取要报告的参数
{
this->m_IndextoSeled=SelIndex;
this->m_ItemCount=ItemCount;
}
CSelItemException(CSelItemException&m)//缺省拷贝构造函数,若没有这个函数,则需要使用throw&CSelItemException(SeledIndex,pCombo->GetCount());的方式
{
this->m_IndextoSeled=m.m_IndextoSeled;
this->m_ItemCount=m.m_ItemCount;
}
virtual~CSelItemException();
public:
intm_IndextoSeled;
intm_ItemCount;
};
classCComboProp:publicCBCGPProp
{
public:
CComboBox*CreateCombo(CWnd*pWndParent,CRectrect,intSeledIndex=-1,LPCTSTRItemString1=NULL, ...);
BOOLAddOption(intnSeledIndex=-1,LPCTSTRItemString1=’’,...);//向属性列表中增加下列选项
CComboProp(constCString&strGroupName,DWORD_PTRdwData=0,BOOLbIsValueList=FALSE)
:CBCGPProp(strGroupName,dwData,bIsValueList){}
CComboProp(constCString&strName,const_variant_t&varValue,LPCTSTRlpszDescr=NULL,
DWORD_PTRdwData=0,LPCTSTRlpszEditMask=NULL,LPCTSTRlpszEditTemplate=NULL,LPCTSTRlpszValidChars=NULL)
:CBCGPProp(strName,varValue,lpszDescr,dwData,lpszEditMask,lpszEditTemplate,lpszValidChars){}
virtual~CComboProp();
};
#endif//!defined(AFX_COMBOPROP_H__B155C456_9EA6_42DB_87B9_30540D83B5D8__INCLUDED_)
//ComboProp.cpp:implementationoftheCComboPropclass.
//
//////////////////////////////////////////////////////////////////////
#include"stdafx.h"
#include"GDFCheck.h"
#include"ComboProp.h"
#ifdef_DEBUG
#undefTHIS_FILE
staticcharTHIS_FILE[]=__FILE__;
#definenewDEBUG_NEW
#endif
//////////////////////////////////////////////////////////////////////
//Construction/Destruction
//////////////////////////////////////////////////////////////////////
CSelItemException::~CSelItemException()
{
}
CComboProp::~CComboProp()
{
}
责任编辑:小草