ページ 11

リストボックスのソートなのですが

Posted: 2015年3月18日(水) 06:10
by lbfuvab
リストボックスにソート属性( LBS_SORT)が指定されている時、アイテムの名前がダブると区別がつかないと思うのですが、そういう場合は普通どういう風に区別をつけるのでしょうか?


環境はWindows7(32bit)上でシンプルにWin32APIを使っています。(MFC等は使っていません)

Re: リストボックスのソートなのですが

Posted: 2015年3月18日(水) 10:01
by YuO
まず,LB_ADDSTRINGメッセージを送信した時のSendMessageの戻り値が,追加した要素のインデックスになります。
そして,WPARAMに要素のインデックスを,LPARAMにその要素に紐付けたいオブジェクトへのポインタ (or 整数値)に指定してLB_SETITEMDATAメッセージを送れば,リストボックスの各要素に情報を紐付けられます。

あとは,LB_GETITEMDATAで紐付いた情報を取得できるので,この情報を使って要素を区別できます。

Re: リストボックスのソートなのですが

Posted: 2015年3月18日(水) 10:20
by lbfuvab
なるほど、これなら線形リストでデータ管理していてもランダムアクセス出来そうですね。
ありがとうございました。