如果我在报告模式下有一个 listview 控件,我如何将 syslink 控件粘贴到其中一个列中?
我想要一个用户可以在其中一列中单击的链接。
最佳答案
listview 控件本身不支持这个。
您可以创建一个真正的 Syslink 控件,它是 ListView 的子控件。每当列表滚动(注意 WM_HSCROLL/WM_VSCROLL 消息)或添加或删除项目时,或者对项目进行排序时,您都需要对 ListView 进行子类化并重新定位 Syslink 控件。您可以使用 LVM_GETSUBITEMRECT 找出它的位置。
或者,您可以自己处理它,方法是使用 NM_CUSTOMDRAW 以不同的颜色显示“链接”,并处理 NM_CLICK 以在用户单击链接时进行捕捉。在我看来,这将是最简单的方法。请注意,如果您希望在链接上显示手形光标,您仍然需要对列表进行子类化并自行处理 WM_SETCURSOR。
关于c++ - ListView 中的 Syslink,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11961421/