Partager via


CWnd::GetDSCCursor

Appelez la fonction membre pour récupérer un pointeur vers le curseur sous-jacent qui est défini par la source de données, le nom d'utilisateur, le mot de passe, les propriétés et SQL du contrôle de source de données.

IUnknown * GetDSCCursor( );

Valeur de retour

Un pointeur vers un curseur qui est défini par un contrôle de source de données. MFC se charge d'appeler AddRef du pointeur.

Notes

Utilisez le pointeur retourné pour définir la propriété d'ICursor d'un contrôle lié aux données complexe, tel que le contrôle de grille liée aux données. Un contrôle de source de données ne devient pas actif jusqu'à ce que le premier contrôle dépendant demande son curseur. Cela peut arriver explicitement par un appel à GetDSCCursor ou implicitement par le gestionnaire de liaison MFC. Dans les deux cas, vous pouvez forcer un contrôle de source de données pour devenir actif en appelant GetDSCCursor puis en appelant Release sur le pointeur retourné à IUnknown. L'activation fera tenter le contrôle de source de données de la connexion à la source de données sous-jacente. Le pointeur retourné peut être utilisé dans le contexte suivant :

Exemple

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;
}

Configuration requise

Header: afxwin.h

Voir aussi

Référence

CWnd, classe

Graphique de la hiérarchie

CWnd::BindDefaultProperty

CWnd::BindProperty