2

LVS_ALIGNTOP配置スタイル ( / LVS_ALIGNLEFT) が変更された後、リストコントロールを更新/更新/再描画する方法を見つけようとしています。

スタイルをアイコン/スモールモードから別のものに変更してから再度戻すと、時々動作します(クリックしたときのみ、プログラムによる変更は遅れても機能しないようです)。それでも、それはせいぜい(醜い/ちらつきは言うまでもなく)かなり厄介なので、より良い(より適切で、より正しい?)方法を見つけたいと思います。

リストコントロールのUpdateWindow, RedrawWindow, Invalidate, … を試してみましたがRedrawItemsUpdate表示モードを変更する以外に何も機能していないようです。

4

3 に答える 3

1

この問題を解決するために CListCtrl.Update() メソッドを使用することに成功しました。

すなわち:

for (int z=0;z<m_listCtrl.GetItemCount();z++)
{
    m_listCtrl.Update(z);
}
于 2013-07-17T01:35:39.507 に答える
0
RedrawItems(0, GetItemCount() - 1);
UpdateWindow();
于 2012-04-02T10:28:06.527 に答える