2

Visual Studio C++ 2008 v 3.5 SP1 (機能パック付き) を使用しています。

を介して MFCCListCtrlオブジェクトに項目を追加InsertItem()すると、ほとんどの表示モードで、それらのアイコンが行の順序が逆になりますが、列の順序は正しくなります。私は「レポート」( LV_VIEW_DETAILS) モードを使用していないため、言及した行と列は、グリッドまたはレイアウト内でアイコンがどのように並べられているかを示しています。

次のように追加します。

for (int i = 0; i < item_count; ++i)
    list_ctrl.InsertItem (i, item_arr[i].text, i); 

そして、それらが次のように表示されることを望みます:

icon 0
icon 1
icon 2
:
icon N-2
icon N-1

(ここで、アイコン # はアイテム # と一致し、N は ですitem_count)。

ただし、「大きいアイコン」、「小さいアイコン」、および「タイル」( LV_VIEW_ICONLV_VIEW_SMALLICONLV_VIEW_TILE) モードでは、次のように表示されます。

icon N-1
icon N-2
:
icon 2
icon 1
icon 0

それらは「リスト」( LV_VIEW_LIST) モードで正しい順序でのみ表示されますが、水平方向に並べてスクロールします。

icon 0  icon 1  icon 2  ..  icon N-2  icon N-1

(それらがすべて単一の行/列に表示されるかどうかは、アイコンとコントロールの相対的なサイズ/寸法の関数にすぎません。) 垂直方向で逆の順序、または正しい順序で間違った方向にすることができるようです!

どうすれば思いどおりに物事を進めることができますか? これについてドキュメントやフォーラムで何も見たことがありません-テキストによるアイテムの並べ替え(これは望ましくありません)または詳細/レポートモードでの列の順序の並べ替え(これは望ましくありません)についてのみです。

4

1 に答える 1

0

あまりにも多くの時間を費やした後、私たちは最終的にそれを理解しました:OwnerDrawFixedプロパティを (元に) に変更する必要がありましたFalse! 今では期待どおりに動作します。

于 2012-05-24T15:59:43.207 に答える