2012-08-14 104 views
0

如果我在報告模式下有一個列表視圖控件,我怎樣才能將一個syslink控件粘貼到其中一列中?
我想要一個鏈接,用戶可以點擊其中一列。SysView在ListView中

+0

如果你打算有很多包含超鏈接的列,你可能想要考慮所有者繪製的listview。你甚至可以將syslink控件直接渲染到listviews設備上下文中。 – 2012-08-14 22:07:26

回答

4

listview控件本身不支持這個。

您可以創建一個真正的Syslink控件,它是listview的子項。當列表滾動時(查看WM_HSCROLL/WM_VSCROLL消息)或添加或刪除項目,或者對項目進行排序時,您需要對列表視圖進行分類並重新定位Syslink控件。您可以使用LVM_GETSUBITEMRECT找出它的位置。

或者,您可以使用NM_CUSTOMDRAW以不同的顏色顯示「鏈接」,並處理NM_CLICK以在用戶單擊鏈接時捕捉。這在我看來是最簡單的方法。請注意,如果您想要在鏈接上顯示手形光標,您仍然需要對列表進行分類並自行處理WM_SETCURSOR。