• 締切済み

LISTBOX 後から LBS_SORT を追加

リストボックスを LBS_SORT のスタイルを指定せずに 作成して、後で LBS_SORT を追加したんだけど、 ソートスタイルになりませんでした。 後から LBS_SORT を追加しても意味がないんですか? できなかったのは、ソースの書き方が間違っていたから かもしれないと思って質問しました。

  • A__
  • お礼率59% (194/328)

みんなの回答

noname#2009
noname#2009
回答No.2

>書いてくれたことがよく分からなかったんだけど、 >後からソートスタイルにしても意味がなかったという >ことですか? ほかに何の質問をしていたのだろう? ソースが合ってるかどうかは、ソースを載せれば良い だろうし。 とりあえず LB_ADDSTRING・・・MFCならCListBox::AddString() Spy・・・VisualStudioのツール、実行ウィンドウの     スタイルやメッセージのキャプチャをできる ぐらいで。 ソートスタイルを後から追加すると、その瞬間に既にある 中身がソートされる? かえって難しい動きのような。 できたらいいね。こっちは自分の日本語をソートするので 精一杯です、健闘をお祈りします。じゃ

noname#2009
noname#2009
回答No.1

多分アイテム全体をソートする処理が無いからではないか という気がします。 リストボックスのソートは LB_ADDSTRING 時に比較関数を 呼び出しているものらしいので、アイテム追加を行った後 など、初期状態以外の状況でソート設定を変えても対応が 適わないのではないかと。 リストボックスのソートをデザイン時以外でやったことは なかったのですが、確かに試してみてもできないような 感じです。 設定したコーディングが正確に反映されているかどうかは Spy などでわかると思いますので、とりあえずそんな感じ です

A__
質問者

補足

ありがとうございます。 書いてくれたことがよく分からなかったんだけど、 後からソートスタイルにしても意味がなかったということですか?

関連するQ&A

  • VB6 2つのListBoxをソート

    VB6で約3000のデータをListBoxに入れて有ります。 ListBox1=ファイル名 ListBox2=ファイルアドレス と2つに分けてListBoxに入れて有り、このインデックス値は双方常に一緒でなければなりません。 ここで困ってしまったのが、Sortedはどうすれば良いのか?です。 片方ソートでも両方ソートでも順番(インデックス値)がばらばらになってしまいます。 そこで下記方法でListBoxを更に3つ追加して(1つをSorted)1つ1つソートしたインデックス順に並び替えたらソートに時間がかかってしまいました。 何か良い方法は無いでしょうか? (ListViewは経験が無いためこの方法の場合はやり方又は参考サイトを入れて頂けると助かります) Dim i As Integer Dim j As Integer Dim k As Integer k = LI1.ListCount - 1 For i = 0 To k LI3.AddItem LI1.List(i) LI4.AddItem LI2.List(i) LI5.AddItem LI1.List(i) 'SortedのListBox Next i LI1.Clear LI2.Clear For i = 0 To k For j = 0 To k If LI3.List(j) = LI5.List(i) Then LI1.AddItem LI3.List(j) LI2.AddItem LI4.List(j) Exit For End If Next j Next i LI3.Clear LI4.Clear LI5.Clear '(LI = ListBox)

  • ソートについて

    同様の回答があったら申し訳ありません。 現在CGIにてリストを作成しています。現状、書いた順番によってリストが作成されていますが、書き込まれたファイルのある1フィールドで昇順にソートさせたいのですが、うまくいきません。 ファイルレイアウト(例)↓ ($1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13,$14,$15,$16,$17) 上記のようなレイアウトのファイルで、「$9」>「$10」(?)の条件(第一条件が$9、第二条件が$10です)でソートさせる場合、どの様なコマンドを書けば良いのでしょうか?

    • ベストアンサー
    • CGI
  • VB6.0のListBoxの使い方について

    VB6.0でリストボックスを3つ作成(配列index0~2)し、index=0のリストボックスをクリックした際にその項目を変数Xに入れたいのですが、X=List1.List(List.ListIndex)でやろうとするとエラーになります。なぜでしょう。何か参照になるサイトありますでしょうか?

  • ソートで

    get().sort(function() { return Math.round(Math.random()) - 0.5; }) はどういう意味ですか? ソートを return Math.round(Math.random()) - 0.5; でするようですが、 ランダムな数字を出してどうやってソートされるのですか? ソートは文字でか数値ででないのですか? http://memopad.bitter.jp/w3c/jsref/jsref_sort.html では >フォルトで、要素をアルファベットの昇順にソートします。 しかし、数値が正しくソートされません(40が5の前に来ます)。 数値をソートするためには、数を比較する関数を追加しなければなりません。 となっています。 ランダムな数字でソートはできるのですか? 使う意味を教えて下さい。 それから、-0.5をしてるのはどういう意味でしょうか?

  • 降順ソートができません。

    テキストボックスを画面左側に10個作成します。 テキストボックスを画面右側に10個作成し、 降順ソートボタンを作成します。 左側10個に入力された数値データを降順ソートして 右側の10個のテキストボックスに表示してください。 <?php //配列 $naNumber[0] = $_POST[naNumber0]; $naNumber[1] = $_POST[naNumber1]; $naNumber[2] = $_POST[naNumber2]; $naNumber[3] = $_POST[naNumber3]; $naNumber[4] = $_POST[naNumber4]; $naNumber[5] = $_POST[naNumber5]; $naNumber[6] = $_POST[naNumber6]; $naNumber[7] = $_POST[naNumber7]; $naNumber[8] = $_POST[naNumber8]; $naNumber[9] = $_POST[naNumber9]; //読込 echo ("<form name = naNumberList method = POST action = ./php05.php>"); echo ("<table boder = 1><tr><td>"); //入力用テキストボックスの作成 //テキストボックス名・形式(右寄せ)・配列 echo ("<input type = text name = naNumber0 style = text-align:right; value = $naNumber[0]><br> <input type = text name = naNumber1 style = text-align:right; value = $naNumber[1]><br> <input type = text name = naNumber2 style = text-align:right; value = $naNumber[2]><br> <input type = text name = naNumber3 style = text-align:right; value = $naNumber[3]><br> <input type = text name = naNumber4 style = text-align:right; value = $naNumber[4]><br> <input type = text name = naNumber5 style = text-align:right; value = $naNumber[5]><br> <input type = text name = naNumber6 style = text-align:right; value = $naNumber[6]><br> <input type = text name = naNumber7 style = text-align:right; value = $naNumber[7]><br> <input type = text name = naNumber8 style = text-align:right; value = $naNumber[8]><br> <input type = text name = naNumber9 style = text-align:right; value = $naNumber[9]> </td>"); //降順にソート rsort($naNumber); //降順ソート表示用テキストボックス //テキストボックス名・形式(右寄せ)・読込専用・配列 echo ("<td><input type = text name = naNumber0 style = text-align:right; readonly value = $naNumber[0]><br> <input type = text name = naNumber1 style = text-align:right; readonly value = $naNumber[1]><br> <input type = text name = naNumber2 style = text-align:right; readonly value = $naNumber[2]><br> <input type = text name = naNumber3 style = text-align:right; readonly value = $naNumber[3]><br> <input type = text name = naNumber4 style = text-align:right; readonly value = $naNumber[4]><br> <input type = text name = naNumber5 style = text-align:right; readonly value = $naNumber[5]><br> <input type = text name = naNumber6 style = text-align:right; readonly value = $naNumber[6]><br> <input type = text name = naNumber7 style = text-align:right; readonly value = $naNumber[7]><br> <input type = text name = naNumber8 style = text-align:right; readonly value = $naNumber[8]><br> <input type = text name = naNumber9 style = text-align:right; readonly value = $naNumber[9]> </td></tr>"); //降順ソートボタン作成 echo ("<tr><td colspan = 3 align = left> <input type = button value = '降順ソート'> </td></tr> </table> </form>"); ?> 上記のソースで、テキストボックス表示・降順ソートボタン表示までできました。 しかし、降順ソートができません。。 降順ソートの書き方をいろいろ変えてみたのですが。 どなたかご存知であれば教えてください!お願いいたします。

    • ベストアンサー
    • PHP
  • JavaScriptでソートすることはできるのでしょうか?

    すいません。初心者のmikaninuです。 JavaScriptでソートってできるんでしょうか? 例えばリストボックスなんかで「3、2、4、1」とある番号を ボタンを押す事によって「1、2、3、4」と順番を並び替えたいのですが。。 誰か知ってたら教えて下さい!!!! それか順番を並び替える良い方法はありませんでしょうか? よろしくお願いします。

  • [ASP.NET]GRIDで行追加・削除、編集、ソートは可能か?

    visual studio 2008でasp.netを使って開発しようと考えています。 以下の要件を満たすgridを作成できますか? (1)ブラウザ上で行を追加・削除できる (2)ブラウザ上で各項目を編集できる (3)ブラウザ上で指定したカラムをキーにソートできる またgridについて詳しく解説してあるサイト・書籍等ありましたら教えてください。

  • ソートがきかないです

    エクセルのデータを削除したり追加したりした後で担当者別に並び替えようとしたのですが、行の半ばまではソートが効いているようなのに、途中からはソートが効かなくなってしまっています。 原因が分からないので困っております。 考えられる原因を教えて下さい。 (過去ログで「再ソート」なるものがあるらしいと見たのですが、もしそれで解決するなら、再ソート(データの範囲変更?)はどのようにしてやるのでしょうか。)

  • セルに追加されるデータをListBoxに表示させたい

    VBA初心者です エクセルのシートに入力されたデータを、ListBoxに表示させるプログラムを作っているのですが セルB5以下に入力されるB列のデータを、追加されたら、自動的にリストボックスにも追加されるというプログラムを作りたいと考えています ご指南、宜しくお願い致します

  • ソートの方法

    こんばんわ。ソートの処理で行き詰ってしまいました… (@allには正規表現で一致したデータを全て読み込んであります。) foreach (@all){ ($filename,$title,$sentence,)= split(/,/,$_); $score = ..... #スコアを求める この後@allを$scoreの値が大きい順にソートし、@sorted_listを作成したいのですが、この後どの様なコードを書けば良いのでしょうか? 自分で言うのもなんですがあまり上手く説明できませんでした… わかりにくい説明ですがよろしくお願いします。

    • ベストアンサー
    • Perl

専門家に質問してみよう