字体
第(1/5)页
关灯
   存书签 书架管理 返回目录
    D 返回具有输入焦点的表项

    LVNI_SELECTED 返回被选择的表项

    要对表项进行排列、排序和搜索,可分别调用Arrange、SortItems 和FindItems 函数来完

    成。

    有时需要在列表视图创建后动态地改变其显示格式,例如,资源管理器中的列表视图就

    可以在4 种显示格式之间切换。改变显示格式其实就是改变列表视图的风格,要改变控件的

    风格,应先调用::GetWindowLong 获取控件原来的风格,并对其进行修改,然后调

    用::SetWindowLong 设置新的风格。这两个函数不是成员函数,而是Windows API 函数,用

    来查询和设置窗口的风格。

    列表视图控件还会发送自己特有的通知消息,常用的有下面这几个。

    ? LVN_ITEMCHANGING 和LVN_ITEMCHANGED。当列表视图的状态发生变化时,

    会发送这两个通知消息。例如,当用户选择了新的表项时,程序就会收到这两个消息。

    消息会附带一个指向NM_LISTVIEW 结构的指针,消息处理函数可从该结构中获得状

    态信息。两个消息的不同之处在于,前者的消息处理函数如果返回TRUE,那么就阻

    止选择的改变,如果返回FALSE,则允许改变。

    ? LVN_KEYDOWN。该消息表明了一个键盘事件。消息会附带一个指向LV_KEYDOWN

    结构的指针,通过该结构程序可以获得按键的信息。

    ? LVN_BEGINLABELEDIT 和LVN_ENDLABELEDIT。分别在用户开始编辑和结束编

    辑标题时发送。消息会附带一个指向LV_DISPINFO 结构的指针。在前者的消息处理

    函数中,可以调用GetEditControl 成员函数返回一个指向用于编辑标题的编辑框的指

    针,如果处理函数返回FALSE,则允许编辑,如果返回TRUE,则禁止编辑。在后者

    的消息处理函数中,LV_DISPINFO 结构中的item.pszText 指向编辑后的新标题,如果

    pszText 为NULL,那么说明用户放弃了编辑,否则,程序应负责更新表项的标题,这

    可以由SetItem 或SetItemText 函数来完成。

    5.9 树型(Tree Ctrl)控件

    5.9.1 树型控件的使用

    树型控件是一种特殊的列表,它能以树型分层结构显示数据。在Windows 95 的资源管

    枫叶文学网www.fywxw.com

    Visual C++ 6.0 程序设计从入门到精通

    ·136·

    理器的左侧窗口中就有一个用于显示目录的典型的树形视图,如图5-8 所示。在树形视图中,

    每个表项显示一个标题(Label),有时还会显示一幅图像,图像和标题分别提供了对数据的

    形象和抽象描述。通过图5-8 可以看出,树形视图可以很清楚地显示出数据的分支和层次关

    系。由此可见,树形视图非常适合显示目录、网络结构等这样的复杂数据。传统的列表框不

    能分层显示数据,因此树形视图可以看作是对列表框的一种重要改进。

    树形视图是一种复杂的控件,它的复杂xìng体现
上一章 目录 下一页