CWnd::GetDSCCursor

调用该成员函数以检索指向由数据源控件的数据源、用户名、密码和SQL属性定义的基础光标。

IUnknown * GetDSCCursor( );

返回值

对由数据源控件定义的光标的指针。 MFC负责调用指针的 AddRef

备注

使用返回的指针设置复杂数据绑定控件的ICursor属性,例如数据网格控件。 数据源控件不会变为活动状态,直至第一个绑定控件请求其光标。 这可以显式发生由调用 GetDSCCursor 或隐式由链接管理器MFC。 在任一情况下,您可以强制数据源控件变为活动通过调用 GetDSCCursor 然后调用返回指针的 ReleaseIUnknown。 启动会导致数据源控件尝试连接到基础数据源。 返回的指针可能在下面的上下文:

示例

BOOL CMyDlg::OnInitDialog()
{


...


// Find the child controls on the dialog
HRESULT hr = E_FAIL;
CWnd* pDSC = GetDlgItem(IDC_DATASOURCE);
CWnd* pListWnd = GetDlgItem(IDC_DBLIST1);
IUnknown* punkList = pListWnd->GetControlUnknown();
IDBList* pList = NULL;

if (NULL != punkList)
{
   hr = punkList->QueryInterface(__uuidof(IDBList), (void**)&pList);
}

if (SUCCEEDED(hr))
{
   // Tell the MFC binding manager that we are 
   // binding DISPID 3 to the data-source control.
   pListWnd->BindProperty(0x3, pDSC);

   // Tell the listbox which field to expose as its bound column
   pList->put_BoundColumn(_T("ContactFirstName"));

   // Tell the listbox which cursor and column to populate its list from
   pList->put_ListField(_T("ContactFirstName"));

   IUnknown* punkCursor = pDSC->GetDSCCursor();
   if (NULL != punkCursor)
   {
      punkCursor->Release();
   }

   pList->Release();


...


    return TRUE;
}

要求

Header: afxwin.h

请参见

参考

CWnd 类

层次结构图

CWnd::BindDefaultProperty

CWnd::BindProperty