file://}}AFX_VIRTUAL
该类的实现为:
CimageData:: CimageData (CDaoDatabase* pdb)
: CDaoRecordset(pdb)
{
file://{{AFX_FIELD_INIT(CimageData)
m_nFields = 1;//数据库的表中仅有一个字段
file://}}AFX_FIELD_INIT
m_nDefaultType = dbOpenDynaset;//以动态集方式打开数据库
}
CString CimageData::GetDefaultDBName()
{
return _T("E:\IMAGES.mdb");//默认的 ACESS 数据库在 E 盘,名为 IMAGES
}
CString CimageData::GetDefaultSQL()
{
return _T("[Table]");//默认打开数据库中名为"Table"的表
}
void CimageData::DoFieldExchange(CDaoFieldExchange* pFX)
{
file://{{AFX_FIELD_MAP(CimageData)
pFX->SetFieldType(CDaoFieldExchange::outputColumn);
DFX_Binary(pFX, _T("[Images]"
), m_Images);//以二进制方式在 Images 字段和
m_Images 变量间交换数据
file://}}AFX_FIELD_MAP
}
有了该类,就可以定义相应的对象来与数据库中的图像字段交换数据,下面定义的函数
GetImageData()说明了如何根据读取的 OLE 字段数据生成待显示的图像,需要注意的
是该函数中使用的 CBitmap 类的变量 Bitmap 是预定义的一个全局变量: