在 MFC 中,CDaoRecordView 类似乎没有直接提供名为 IsOnFirstRecord 的公共方法。通常情况下,记录集的移动和定位是通过底层的 CDaoRecordset 对象来处理的。

如果你想要检查当前记录是否为结果集中的第一条记录,你可能需要使用 CDaoRecordset 对象的方法来实现。例如,你可以使用 CDaoRecordset::IsBOF 方法来检查是否在结果集的开头。

以下是一个简单的示例:
class CMyRecordView : public CDaoRecordView
{
public:
    // 构造函数和其他成员的声明

protected:
    // 重写 OnMove 方法
    virtual BOOL OnMove(UINT nIDMoveCommand);
    
    // 其他成员的声明
};

// 在实现文件中实现 OnMove 方法
BOOL CMyRecordView::OnMove(UINT nIDMoveCommand)
{
    // 调用基类的方法
    if (!CDaoRecordView::OnMove(nIDMoveCommand))
        return FALSE;

    // 在这里可以执行自定义的移动操作
    if (nIDMoveCommand == ID_RECORD_FIRST)
    {
        CDaoRecordset* pRecordset = &GetRecordset();
        if (pRecordset->IsBOF())
        {
            TRACE(_T("Currently on the first record.\n"));
        }
        else
        {
            TRACE(_T("Not on the first record.\n"));
        }
    }

    return TRUE;
}

在这个示例中,CMyRecordView 类派生自 CDaoRecordView,并在 OnMove 方法中添加了检查是否在第一条记录上的逻辑。当移动命令为 ID_RECORD_FIRST 时,会调用 CDaoRecordset::IsBOF 方法来检查是否在结果集的开头。

请注意,具体的实现可能需要根据你的应用程序的需求进行调整。


转载请注明出处:http://www.zyzy.cn/article/detail/16663/MFC/CDaoRecordView