次の方法で共有


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

必要条件

ヘッダー: afxwin.h

参照

関連項目

CWnd クラス

階層図

CWnd::BindDefaultProperty

CWnd::BindProperty