CWnd::GetDSCCursor
Chamar essa função de membro para recuperar um ponteiro para o cursor subjacente que é definido pela fonte de dados, nome de usuário, por senha, as propriedades e do SQL de controle da fonte de dados.
IUnknown * GetDSCCursor( );
Valor de retorno
Um ponteiro para um cursor que é definido por um controle de fonte de dados. O MFC cuida de chamar AddRef para o ponteiro.
Comentários
Use o ponteiro retornado para definir a propriedade de ICursor de um controle associado a dados complexo, como o controle de grade associada a dados. Um controle de fonte de dados não será ativa até que o primeiro controle associado parte do cursor. Isso pode acontecer explicitamente por uma chamada a GetDSCCursor ou implicitamente pelo gerenciador de associação MFC. Em ambos os casos, você pode forçar um controle de fonte de dados para se ativo chamando GetDSCCursor e então chame Versão no ponteiro retornado para IUnknown. Ativação fará com que o controle da fonte de dados tente conectar à fonte de dados subjacente. O ponteiro retornado pode ser usada no seguinte contexto:
Exemplo
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;
}
Requisitos
Cabeçalho: afxwin.h