I_GETNONCLIENTMETRICS)返回的 NONCLIENTMETRICS 结构
成员 lfStatusFont 定义),设置 SW_SHOWNA 是很重要的,因为你不想使提示窗口为活动窗口,而
只是显示它。另外,CPopupText 还提供一个专门的函数CPopupText::ShowDelayed,它的功能是在显
示提示窗口之前设置一个毫秒级延时,如果延时为零,则立刻显示提示窗口,你可以使用这个特点来
替代对ShowWindow 的调用。如果要隐藏提示窗口或取消ShowDelayed,调用CPopupText::Cancel。
实例5-2:实现列表框的提示条实例。源代码在光盘中“\05\实例5-2\ListTest”目录下。
5.6 组合框(Combo box)控件
5.6.1 组合框控件的使用
组合框是一种传统控件,把一个编辑框和一个单选择列表框结合在了一起。用户既可以
在编辑框中输入,也可以从列表框中选择一个列表项来完成输入。组合框分为简易式
(Simple)、下拉式(Dropdown)和下拉列表式(Drop List)3 种。简易式组合框包含一个编
辑框和一个总是显示的列表框。下拉式组合框同简易式组合框类似,二者的区别在于单击下
拉箭头后是否会弹出列表框。下拉列表式组合框也有一个下拉的列表框,但它的编辑框是只
读的,不能输入字符。
Windows 中比较常用的是下拉式和下拉列表式组合框,在集成开发环境(IDE)中就大
枫叶文学网www.fywxw.com
第5 章 常用控件
·123·
量使用了这两种组合框。二者都具有占地小的特点,这在界面日益复杂的今天是十分重要的。
下拉列表式组合框的功能与列表框类似。下拉式组合框的典型应用是作为记事列表框使用,
既把用户在编辑框中敲入的东西存储到列表框组件中,这样当要重复同样的输入时,可以从
列表框组件中选取而不必在编辑框组件中重新输入。在集成开发环境(IDE)中的Find 对话
框中就可以找到一个典型的下拉式组合框。
应用一个列表框控件时,主要应遵循下列原则。
? 在创建组合框时指定CBS_DROPDOWNLIST 风格。
? 要限制列表项的数目,以防止内存不够。
? 如果在编辑框中输入的字符串不能与列表框组件中的列表项匹配,那么应该把该字符
串chā入到列表框中的0 位置处。最老的项处于列表的末尾。如果列表项的数目超出了
限制,则应把最老的项删除。
? 如果在编辑框中输入的字符串可以与列表框组件中的某一项完全匹配,则应该先把该
项从列表的当前位置删除,然后在将其chā入列表的0 位置处。
组合框控件会向父窗口发送控件通知消息,主要的通知消息如表5-12 所示的。
表5-12 组合框控件的通知消息
消息 含义
CBN_CLOSEUP 组合框的列表框组件被关闭,简易式组合框不会发出该消息
CBN_DBLCLK 用户在某列表项上双击鼠标,只有简易式组合框才会发出该消息
CBN_DROPDOWN 组