我们正在使用OS常用控件lib中的标准Header控件。我们需要强制控件刷新与只有一个列标题(item)相关的区域。是否有特殊的WinAPI消息,或者我们可以使用的技巧?
答案 0 :(得分:4)
使用HDM_GETITEMRECT
消息获取相关项目的矩形,然后使用InvalidateRect
功能刷新它。
答案 1 :(得分:0)
我们使用了以下技巧,因为列标题文本没有直接存储在标题中(VB6代码):
Dim tHI As HD_ITEM
tHI.mask = HDI_TEXT
SendMessage m_hWnd, HDM_SETITEM, lCol, tHI
事实上,我们不会更改项目,但标题“认为”它发生了,所以实际上我们强制标题重绘项目。
注意:在这种情况下发送HDN_ITEMCHANGING,因此在使用此技巧时请忽略它。