background image

    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 是预定义的一个全局变量: