我不明白是什么目的LVCOLUMN.iSubItem.这就是MSDN所说的:
iSubItem
Run Code Online (Sandbox Code Playgroud)Type: int Index of subitem associated with the column.
我首先想到这意味着当我创建一个列时,我可以为列设置索引,例如:123,然后当我想将一些数据插入列时,我只提供数字123作为标识专栏.
但它不起作用,无论我设置哪些索引列,列仍然编号为0,1,2,3 ......
不,LVCOLUMN.iSubItem正如您所发现的,从 0 从左到右按顺序编号。是的,它看起来确实没有任何用途,因为您必须始终指定列号才能对 LVCOLUMN 执行任何操作。所以它只是给你返回你已经知道的东西。
很难猜测这是如何发生的,除了要注意通用控件并不完全是微软最好的时刻。我怀疑这可能与列表视图有关LVS_EX_HEADERDRAGDROP。这允许用户通过拖动来重新排列列。现在传递给 LVM_GETCOLUMN 的列索引变得有点模糊,它是否应该指示列的位置或原始索引?LVM_GETCOLUMNORDERARRAY如果您需要知道用户如何排列列,则使用后者。
或者他们只是简单地镜像LVITEM.iSubItem以保持结构相似,也许更有可能。别担心。
| 归档时间: |
|
| 查看次数: |
949 次 |
| 最近记录: |