私は仮想モードのリストビューを作成することを学んでいます。これまでのところ、私の問題は、リストビューのチェックボックスを使用できないことです。http://delphi-kb.blogspot.com/2011/02/draw-checkboxes-in-virtual-mode.htmlからのリンクをすでに読んでいますが、チェックボックスが表示されません。何か案が?
2305 次
1 に答える
2
明らかに、有効になっている場合は自分でチェックボックスを描画する必要がありますOwnerData
(質問にリンクされている記事で説明されています)。
したがって、 (に加えて、2つは独立したOwnerDraw
フラグです!)に設定し、イベントで自分でチェックボックスを描画する必要があります。True
OwnerData
OnCustomDrawItem
アップデート:
これは完全に真実ではないようです。この場合、OnCustomDrawItem
イベントも発生しOwnerDraw = False
ます。
http://docwiki.embarcadero.com/VCL/XE2/en/ComCtrls.TListView.OnCustomDrawItem
アップデート2:
質問にリンクされているコードは、との場合にのみ機能しOwnerDraw = False
ますCheckBoxes = True
。
それ以外の場合、VCLはチェックボックスを描画するために左側のスペースを予約しません。
ところで:MikeLischkeのTVirtualTreeViewのようなより高度なコンポーネントを使用する方が良いかもしれません。
于 2011-10-26T09:49:05.017 に答える