0

だからここに私の問題があります、私は を持っていて、 (asyncron)CtrlListを介してアイテムを挿入したいので、メッセージは彼の番になったときに処理されますが、問題は にメモリを割り当てる必要があることです。アイテムを挿入する前に緩めないでください。しかし、関数を終了した後、割り当てられたアイテムへのポインターを失った後。また、アイテムを挿入すると別のアイテムが作成されるため、割り当てたメモリの割り当てを解除するのは難しいと思います。PostMessageLVM_INSERT_MESSAGELVITEMLVITEM

私の解決策は、通知LVM_INSERT_MESSAGEを送信LVN_INSERT_MESSAGEしてから、その通知で関数を呼び出すことでしたが、lvitem を取得する唯一の方法は lparam をスローすることですが、on_notify には ( NMHDR *pNMHDR, LRESULT *pResult) パラメーターがあります。そのメモリの割り当てを解除するための解決策を教えてください。postmessage で挿入する必要があります。send message または関数 insertitem を使用するように言わないでください。ありがとうございました。

4

1 に答える 1

0

カスタムメッセージを他のウィンドウに投稿し、そのハンドラーでアイテムを追加してからメモリを解放します。

リストコントロールがすでにサブクラス化されている場合は、他のウィンドウは必要なく、メッセージをコントロールに直接送信できます。

于 2011-10-28T08:21:07.010 に答える