動的な列連結を本当に必要かどうかを確認します。必要な場合があります。:
動的な列連結を実装するには:
静的 ATLCOLUMNINFO ※ _GetColumnInfo (void ※ pThis、ULONG ※ pcCols)
次の例は、 _GetColumnInfo関数。
・それなら、ゼロを設定ブックマークのプロパティ フラグのチェック・列の序数エントリ マップ、ブックマーク情報を。CAgentRowset ※ pRowset (CAgentRowset ※) pThis; =CComQIPtrlt; IRowsetInfo、& IID_IRowsetInfo > spRowsetProps pRowset; =CDBPropIDSet set(DBPROPSET_ROWSET);設定します。AddPropertyID(DBPROP_BOOKMARKS);DBPROPSET ※ pPropSet = NULL;ULONG ulPropSet = 0;HRESULT の時間;場合 (spRowsetProps)hr = spRowsetProps - > GetProperties (1、& セット、ulPropSet、& pPropSet);場合 (pPropSet){CComVariant var = pPropSet - > rgProperties [0] .vvalue;CoTaskMemFree (pPropSet - > rgProperties);CoTaskMemFree(pPropSet);場合 (SUCCEEDED(hr) & & (var.boolVal VARIANT_TRUE を = =)){ADD_COLUMN_ENTRY_EX (ulCols、OLESTR("Bookmark")、0、数がわかります、DBTYPE_BYTES、0、0、GUID_、CAgentMan、dwBookmark、DBCOLUMNFLAGS_ISBOOKMARK)ulCols + +;}}//次に、他の列を設定します。ADD_COLUMN_ENTRY (ulCols、OLESTR("Command")、1、256、DBTYPE_STR、0 xff、0 xff、GUID_、CAgentMan、szCommand)ulCols + +;ADD_COLUMN_ENTRY (ulCols、OLESTR("Text")、2、256、DBTYPE_STR、0 xff、0 xff、GUID_、CAgentMan szText)ulCols + +;ADD_COLUMN_ENTRY (ulCols、OLESTR("Command2")、3、256、DBTYPE_STR、0 xff、0 xff、GUID_、CAgentMan、szCommand2)ulCols + +;ADD_COLUMN_ENTRY (ulCols、OLESTR("Text2")、4、256、DBTYPE_STR、0 xff、0 xff、GUID_、CAgentMan、szText2)ulCols + +;場合 (pcCols! = NULL)※ pcCols = ulCols;_rgColumns を返す;}