Шаг 237 - CWnd::GetDSCCursor

IUnknown * GetDSCCursor( );

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

Замечания
Вызовите эту функцию чтобы получить указатель на основной курсор, который определен DataSource, UserName, Password, и SQL реквизитами элемента управления источник данных. Используйте возвращенный указатель чтобы установить ICURSOR свойство сложной связи элемента управления данными типа элемента управления связанных данных сетки. Управление источника данных не станет активным до того как первый связанный элемент управление не запросит курсор. Это может случаться или явным обращением к GetDSCCursor или неявно MFC администратором связи. В любом случае Вы можете вынуждать элемент управление источника данных стать активным, вызывая GetDSCCursor и затем вызывая Release на возвращенном указателе IUnknown. Активация заставит элемент управление источника данных пытаться соединяться с основным источником данных. Возвращенный указатель мог бы использоваться в следующем контексте:

BOOL CMyDlg::OnInitDialog()
{
	// Найдите порожденные средства управления на диалоге
	CWnd* pDSC = GetDlgItem(IDC_REMOTEDATACONTROL);
	CDBListBox* pList = (CDBListBox*)
	GetDlgItem(IDC_DBLISTBOX);

	// Сообщить MFC  администратору связи что мы
	// связываем DISPID 3 с элементом  управления источник данных.
	pList->BindProperty(0x3, pDSC);

	// Сообщить listbox какое поле выставить  как
	// Связанный столбец
	pList->SetBoundColumn(_T("CourseID"));

	// Сообщить listbox который курсор и столбец
	// Заполнять из списока
	pList->SetListField(_T("CourseID"));
	IPUNKNOWN *pcursor = pDSC->GetDSCCursor();

	//......

	if (!pcursor)
	{
		// Указатель не был назначен
		return FALSE;
	}
	// Указатель успешно назначен
	pList->SetRowSource(pcursor);

	//......
	pcursor->Release();
	return TRUE;
}

Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем - 31.12.2001