0
SetItemDataPtrを使用してリストボックスアイテムをデータに設定しますが、GetItemDataPtrを呼び出すと正しいポインタを取得できません。 EXについてCListBox不正なデータポインタを設定/取得する
:
//設定データポインタ初期化リストボックス m_lstBox.SetItemDataPtr(0、ポインタ)。 //ポインタ= 0x0123CDEF .....
// DrawItem() ポインタ= GetItemDataPtr(lpDrawItemStruct-> itemID); // lpDrawItemStruct-> ITEMID = 0
// ポインタ!= 0x0123CDEF
それはなぜですか?
LR。
私はこれらの操作を行わずに簡単なテストを行い、何が起こったのか分かりました。 SetItemDataPtrを呼び出した後、Itemの別の値を設定するためにSetItemDataを呼び出しました。 GetItemDataPtrを呼び出すと、SetItemDataで渡された値が取得されます。私は今、これら2つの機能の使用を混乱させています。 – jAckOdE
あなたはどちらか一方しか持てません。彼らは同じストレージを使用します。 Data vs DataPtrバージョンは、64ビットと32ビットOSの正しいセマンティクスを提供するだけです。 –