CWnd::GetDSCCursor
调用该成员函数以检索指向由数据源控件的数据源、用户名、密码和SQL属性定义的基础光标。
IUnknown * GetDSCCursor( );
返回值
对由数据源控件定义的光标的指针。 MFC负责调用指针的 AddRef。
备注
使用返回的指针设置复杂数据绑定控件的ICursor属性,例如数据网格控件。 数据源控件不会变为活动状态,直至第一个绑定控件请求其光标。 这可以显式发生由调用 GetDSCCursor 或隐式由链接管理器MFC。 在任一情况下,您可以强制数据源控件变为活动通过调用 GetDSCCursor 然后调用返回指针的 Release 到 IUnknown。 启动会导致数据源控件尝试连接到基础数据源。 返回的指针可能在下面的上下文:
示例
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