次の方法で共有


CWnd::GetDSCCursor

データ ソース コントロールの DataSource、UserName、Password、および SQL プロパティで (二次的に) 定義されているカーソルへのポインターを取得するには、このメンバー関数を呼び出します。

IUnknown * GetDSCCursor( );

戻り値

データ ソース コントロールによって定義されているカーソルへのポインター。 ポインターの AddRef 呼び出しは、MFC が行います。

解説

戻り値のポインターは、データ連結グリッド コントロールのような複雑なデータ連結コントロールの ICursor プロパティを設定するために使用します。 データ ソース コントロールは、連結コントロールがカーソルを最初に要求するまで、アクティブになることはありません。 GetDSCCursor の呼び出しによる明示的な方法、または MFC バインディング マネージャーによる暗黙的な方法によって、アクティブになります。 どちらの場合でも、GetDSCCursor を呼び出して、戻り値の IUnknown へのポインターで Release を呼び出すことによって、データ ソース コントロールを強制的にアクティブにできます。 アクティブになると、データ ソース コントロールはデータ ソースに接続しようと試みます。 戻り値のポインターは、次のように使用されます。

使用例

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

必要条件

**ヘッダー:**afxwin.h

参照

参照

CWnd クラス

階層図

CWnd::BindDefaultProperty

CWnd::BindProperty

概念

CWnd のメンバー