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

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
アバター
lbfuvab
記事: 72
登録日時: 14年前

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

#1

投稿記事 by lbfuvab » 10年前

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


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

YuO
記事: 947
登録日時: 14年前
住所: 東京都世田谷区

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

#2

投稿記事 by YuO » 10年前

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

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

アバター
lbfuvab
記事: 72
登録日時: 14年前

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

#3

投稿記事 by lbfuvab » 10年前

なるほど、これなら線形リストでデータ管理していてもランダムアクセス出来そうですね。
ありがとうございました。

閉鎖

“C言語何でも質問掲示板” へ戻る