0

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

4

1 回答 1

4

listview 控件本身不支持此功能。

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

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

于 2012-08-14T22:07:47.563 回答