Поделиться через


CWnd::GetDSCCursor

Эта функция-член вызывается с целью извлечения указателя на курсор, который определяется базовым источником данных, имени пользователя, пароля и свойствами SQL элемента управления источником данных.

IUnknown * GetDSCCursor( );

Возвращаемое значение

Указатель на курсор, который определяется элементом управления источником данных. MFC позаботится о вызове AddRef для указателя.

Заметки

Используйте возвращенный указатель для задания свойства ICursor сложного элемента управления с привязкой к данным, например данные- границы элемента управления сетки. Элемент управления источником данных не станет активным до тех пор, пока первый связанный элемент управления не запросит его курсор. Это может произойти при вызове GetDSCCursor или явно или неявно диспетчером привязки MFC. В любом случае можно заставить элемент управления источником данных станет активным путем вызова GetDSCCursor а затем вызвать Выпуск в возвращаемом указателя на 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

См. также

Ссылки

Класс CWnd

Диаграмма иерархии

CWnd::BindDefaultProperty

CWnd::BindProperty