CWnd::GetDSCCursor

IUnknown * GetDSCCursor( );

返回值:指向数据源控件定义的游标的指针。MFC会为这个指针调用AddRef函数。

说明:
调用这个函数以获取游标的指针,该游标是用数据源控件的DataSource,UserName,Password和SQL属性定义的。可以使用返回的指针来设置复杂数据绑定控件的ICursor属性,如数据绑定网格控件。数据源控件将不会被激活,直到第一个绑定控件请求了游标。这种情况可能发生在调用GetDSCCursor时,也可能是被MFC绑定管理器激活的。在这两种情况下,你都可以调用GetDSCCursor,然后用返回的IUnknown指针调用Release。被激活后数据源控件会试图与数据源相连接。返回的指针应该在下面的上下文中使用:
BOOL CMyDlg::OnInitDialog()
{
    // 找到对话框中的子控件
    CWnd* pDSC = GetDlgItem(IDC_REMOTEDATACONTROL);
    CDBListBox* pList = (CDBListBox*)
    GetDlgItem(IDC_DBLISTBOX);
    // 告诉MFC的绑定管理器我们已经把DISPID 3
    // 与数据源控件相绑定了。
    pList->BindProperty(0x3, pDSC);
    // 告诉列表框把哪个域作为绑定字段。
    pList->SetBoundColumn(_T("CourseID"));
    // 告诉列表框把它的内容转移到哪个游标和字段。
    pList->SetListField(_T("CourseID"));
    IPUNKNOWN *pcursor = pDSC->GetDSCCursor();
    ...
    if (!pcursor)
    {
      // 指针没有成功地分配,返回FALSE。
      return FALSE;
    }
    // 成功地返回了指针
    pList->SetRowSource(pcursor);
    ...
    pcursor->Release();
    return TRUE;
}

请参阅:CWnd::BindDefaultProperty, CWnd::BindProperty