CtrlList
がありますので、PostMessage
(asyncron)経由でアイテムを挿入したいので、メッセージLVM_INSERT_MESSAGE
は自分の番になると処理されますが、問題は私がLVITEM
のためにメモリを割り当てる必要があるので、私はアイテムを挿入する前にそれを緩めないようにします。しかし、私は関数を終了した後、割り当てられた項目へのポインタを失った後。そして、挿入項目は別の項目を作成するので、私はLVITEM
のために割り当てるメモリの割り当てを解除するのが難しいと思う。 LVM_INSERT_MESSAGE
関数を呼び出すためにその通知に、LVN_INSERT_MESSAGE
通知を送信しますが、LVITEMを取得する唯一の方法は、LPARAMを投げているのでCtrlListはpostmessageで通知メッセージを挿入します
私の解決策だったが、ON_NOTIFYは(NMHDR *pNMHDR, LRESULT *pResult
)のパラメータを持っています。あなたは私にそのメモリの割り当てを解除するための解決策を与えることができます、私はpostmessageでそれを挿入する必要があります、私はメッセージや関数のinsertitemを使用するように教えてください。ありがとうございました。
ありがとう、これは別のアイデアですが、私はLVITEM構造体のlParam変数に割り当てられたメモリポインタを置き、LVN_INSERTITEMメッセージが処理された後、通知を送信します。アイテムのlParam変数を挿入し、そこに格納されているメモリポインタの割り当てを解除します。 –