ListView中的Syslink

时间:2012-08-14 21:57:05

标签: c++ windows winapi

如果我在报告模式下有listview控件,我怎么能将syslink控件粘贴到其中一列? 我想要一个用户可以在其中一列中单击的链接。

1 个答案:

答案 0 :(得分:4)

listview控件本身不支持。

您可以创建一个真正的Syslink控件,它是listview的子级。每当列表滚动(监视WM_HSCROLL / WM_VSCROLL消息)或添加或删除项目时,或者当它被排序时,您都需要对列表视图进行子类化并重新定位Syslink控件。您可以使用LVM_GETSUBITEMRECT找出它的位置。

或者,您可以使用NM_CUSTOMDRAW以不同的颜色显示“链接”,并在用户点击链接时处理NM_CLICK来自行处理。在我看来,这将是最简单的方法。请注意,如果您希望在链接上显示手形光标,您仍然需要对列表进行子类化并自己处理WM_SETCURSOR。