掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
CListCtrl::SetItemDataでセットした独自クラスのポインタ情報が上書きされないようにするには? (ID:73037)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
まぁ、tetrapodさんの指摘が普通なんです。 Addを繰り返すとCArray::m_pDataがアロケーションされ直される のですよ。足りなくなって(vv;)。 けど、実は自分はPenさんと同様の方法を使ってます。 では、なんで問題が無いかと言うと 1.事前に必要な全てのm_myInfo.Add(myData)を実行してから 2.全てのアイテムデータの設定 for(i=0 ; i<m_myInfo.GetCount() ; i++){ list.SetItemData(・・・, &m_myInfo[ i]);} してるのですね。 m_myInfoの要素数はリストコントロールの寿命に対して 固定値であると言う前提ですね。 さて、では可変にするにはどうするかと言うと、 1.CListCtrlの全てのアイテムを削除する 2.m_myInfoの追加又は削除を行う 3.全てのアイテムの追加とアイテムデータの設定を行う という手順にします。
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.