2016-04-11 21 views
0

CListCtrlのデフォルトの動作では、現在空白の下に空白が表示されている行の数だけが表示されますか?CListCtrl CListCtrlは塗りつぶした行のみを表示しますか?

私のリストには、固定表示領域に可変数のエントリがあります。表示領域が保持できる以上のエントリがある場合、垂直スライダが表示され、すべてが正しく表示されます。エントリを削除して表示領域を埋めるのにまだ十分でない場合、一番下の空の領域はセルグリッドなしでグレー表示になります。

表示領域を完全なセルグリッドにしておきたいと思います。私は計算して空の行でその領域を上にする必要がある場合、私はこれがデフォルトの動作になるとは思わなかったでしょう。 CListCtrlのクライアント領域全体が、空のセルグリッドとして永続的に表示され、正しい数のエントリが上部に表示されることが予想されます。

私はこれを手動で処理する必要がありますか、おそらく設定していないCListCtrlのプロパティがありますか?

+0

私がすべてを理解しているかどうか分からない、写真を投稿できますか? –

+0

あなたは非常に扱いにくいデフォルトの動作を要求しています。クライアント領域がセルの高さの倍数でない場合、デフォルトの動作は何ですか?その場合、残りのスペースはグレー表示にする必要がありますか?コントロールは、縦のスクロールバーを表示せずに部分行を表示する必要がありますか?それは、垂直スクロールバーと部分的な行を表示する必要がありますか?どのようにスクロールバーがその場合に動作する必要がありますか?これは非常に直観的ではなく、実装されたデフォルトの動作は実際にはほとんど驚きのルートではありません。 – IInspectable

+0

私はあなたが私の意図を誤解していると思います。私は一番下に残っているかもしれない部分行について話していません、私は現在データで満たされていないすべてのスペースについて話しています。 40行を表示するCListCtrlがあり、データの上位10しかない場合、その下の30行はダイアログの背景と同じ灰色のブロックになります。私はこのサイトがどのように写真を扱っているのか分かりませんが、私はDropboxのスクリーンショットをホストして、私の意味を示しています:[link](https://www.dropbox.com/s/i5rbfpfzhfetpic/ShortList.jpg?dl=0 ) – Bordonbert

答えて

0

何がを説明してきたことはリストビューコントロールのデフォルトの動作です:あなたはちょうどそれを確認する必要があり

m_List.InsertColumn(0, L"Col 1", 0, 100); 
m_List.InsertColumn(1, L"Col 2", 0, 100); 
m_List.InsertItem(0, L"Item 1"); 
m_List.InsertItem(1, L"Item 2"); 
ListView_SetExtendedListViewStyle(m_List, LVS_EX_GRIDLINES | LVS_EX_FULLROWSELECT); 

:ここ

List View control

関連するコード断片でありますあなたはCommon Controlsの現在のバージョンを使用します。

+0

その情報をお寄せいただきありがとうございました、それは私が恐れていたものです。それはもはや信頼できない老化のセットアップのようだ。私はこれに注意する必要があります。 – Bordonbert

関連する問題