2

私の意図は、フィートをメートルに簡単に変換することです。「メーター」列に入力するための役立つ提案を提供していただけますか? 次のコードは、Visual Studio 2008 C++ のリストビューに 2 つの列を表示するために作成されました。

//Show details
listView1->View = View::Details;
//Allow the user to change text
listView1->LabelEdit = true;
listView1->GridLines = true;

//Add 2 columns and 2 rows
listView1->Columns->Insert(0,"Feet",150, HorizontalAlignment::Center);
listView1->Items->Insert(0, "50");
listView1->Items->Insert(1, "20");
listView1->Columns->Insert(1,"Meters", 150, HorizontalAlignment::Center);
listView1->Items->Insert(0, "15.24");
listView1->Items->Insert(1, "6.10");

listView1 の誤った出力は次のとおりです。

Feet    Meters
15.24
6.10
50
20

listView1 での出力は次のようになります。

Feet    Meters
50      15.24
20      6.10

私は単純なものが欠けていると確信しています。あらゆる助けをありがとう:)

4

1 に答える 1

3

詳細モードのリストビューは、列を各アイテムのサブアイテムとしてマップします。最初の列は項目のテキスト自体を示し、もう一方の列はそのサブ項目を使用しています。したがって、コードは次のようになります。

listview1->Columns->Add("Feet", 150, HorizontalAlignment::Center);
listview1->Columns->Add("Meters", 150, HorizontalAlignment::Center);
listview1->Items->Add("50"); // this will be shown in column Feet
listview1->Items[0]->SubItems->Add("20"); // this will be shown in column Meters
listview1->Items->Add("15.24");
listview1->Items[1]->SubItems->Add("6.10");

注: 「挿入」の代わりに「追加」メソッドを使用しました。この場合、アイテムと列の順序は気にしないためです。「挿入」より便利だと思います。

これがお役に立てば幸いです。

于 2013-09-23T08:02:47.173 に答える