扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:青岛郎锐 来源:天极网 2007年10月19日
关键字:
列表框风格 | 说明 |
LBS_STANDARD | 创建一个具有边界和垂直滚动条、当选择发生变化或条目被双击时能够通知父窗口的标准列表框。所有条目按字母排序。 |
LBS_SORT | 按字母排序。 |
LBS_NOSEL | 条目可视但不可选。 |
LBS_NOTIFY | 当用户选择或双击一个串时,发出消息通知父窗口。 |
LBS_DISABLENOSCROLL | 在条目不多时依然显示并不起作用的滚动条。 |
LBS_MULTIPLESEL | 允许条目多选。 |
LBS_EXTENDEDSEL | 可用SHIFT和鼠标或指定键组合来选择多个条目。 |
LBS_MULTICOLUMN | 允许多列显示。 |
LBS_OWNERDRAWVARIABLE | 创建一个拥有者画列表框,条目高度可以不同。 |
LBS_OWNERDRAWFIXED | 创建一个具有相同条目高度的拥有者画列表框。 |
LBS_USETABSTOPS | 允许使用TAB制表符。 |
LBS_NOREDRAW | 当条目被增删后不自动更新列表显示。 |
LBS_HASSTRINGS | 记忆了添加到列表中的字串。 |
LBS_WANTKEYBOARDINPUT | 当有键按下时向父窗口发送WM_VKEYTOITEM或WM_CHARTOITEM消息。 |
LBS_NOINTEGRALHEIGHT | 按程序设定尺寸创建列表框。 |
CListBox m_ctrListBox; // 禁止自动重绘 m_ctrListBox.SendMessage(WM_SETREDRAW, FALSE, 0); // 进行条目增删操作 …… // 允许自动重绘 m_ctrListBox.SendMessage(WM_SETREDRAW, TRUE, 0); |
通知码标识符 | ON_LBN宏 | 值 | 含义 |
LBN_SETFOCUS | ON_LBN_SETFOCUS | 4 | 列表框接收到输入焦点 |
LBN_KILLFOCUS | ON_LBN_KILLFOCUS | 5 | 列表框接失去输入焦点 |
LBN_ERRSPACE | ON_LBN_ERRSPACE | -2 | 列表框存储溢出 |
LBN_DBLCLK | ON_LBN_DBLCLK | 2 | 双击条目 |
LBN_SELCHANGE | ON_LBN_SELCHANGE | 1 | 改变选择 |
LBN_SELCANCEL | ON_LBN_SELCANCEL | 3 | 取消选择 |
// 创建并初始化列表框 // 创建列表框 m_ctrListBox.Create(WS_VISIBLE | WS_CHILD | WS_BORDER | LBS_STANDARD,CRect(270, 50, 370, 150), this, IDC_LIST1); // 添加条目 CString Item[9] = {"Item1", "Item2", "Item3", "Item4", "Item5", "Item6", "Item7", "Item8", "Item9"}; for (int i = 0; i < 9; i++) m_ctrListBox.AddString(Item[i]); // 选中第4个条目 m_ctrListBox.SetCurSel(3); …… // 父窗口对通知消息的处理函数的声明(在头文件中) //{{AFX_MSG(CSample02View) afx_msg void OnLbnDblClk(); //}}AFX_MSG DECLARE_MESSAGE_MAP() …… // 父窗口对通知消息的映射入口 (在实现文件中) BEGIN_MESSAGE_MAP(CSample02View, CView) //{{AFX_MSG_MAP(CSample02View) ON_LBN_DBLCLK(IDC_LIST1, OnLbnDblClk) //}}AFX_MSG_MAP // Standard printing commands END_MESSAGE_MAP() …… // 父窗口对LBN_DBLCLK通知消息的处理 void CSample02View::OnLbnDblClk() { // 得到当前选中条目的索引 int Index = m_ctrListBox.GetCurSel(); // 得到此条目的内容 char Text[20]; m_ctrListBox.GetText(Index, Text); // 以信息框报告得到的内容 AfxMessageBox(CString(Text)); } |
窗口风格 | 说明 |
CBS_AUTOHSCROLL | 当在行尾输入字符时自动将编辑框中的文字向右滚动。 |
CBS_DROPDOWN | 同CBS_SIMPLE风格类似,只是只有在用户点击下拉图标时才会显示出下拉列表。 |
CBS_DROPDOWNLIST | 同CBS_DROPDOWN类似,只是显示当前选项的编辑框为一静态框所代替。 |
CBS_HASSTRINGS | 创建一个包含了由字串组成的项目的拥有者画组合框。 |
CBS_OEMCONVERT | 将组合框中的ANSI字串转化为OEM字符。 |
CBS_OWNERDRAWFIXED | 由下拉列表框的拥有者负责对内容的绘制;列表框中各项目高度相同。 |
CBS_OWNERDRAWVARIABLE | 由下拉列表框的拥有者负责对内容的绘制;列表框中各项目高度可以不同。 |
CBS_SIMPLE | 下拉列表始终显示。 |
CBS_SORT | 自动对下拉列表中的项目进行排序。 |
CBS_DISABLENOSCROLL | 当下拉列表显示内容过少时显示垂直滚动条。 |
CBS_NOINTEGRALHEIGHT | 在创建控件时以指定的大小来精确设定组合框尺寸。 |
ON_CBN宏 | 对应事件 |
ON_CBN_CLOSEUP | 关闭下拉列表。 |
ON_CBN_DBLCLK | 双击下拉列表中的项目。 |
ON_CBN_DROPDOWN | 下拉显示列表框。 |
ON_CBN_EDITCHANGE | 编辑框中文本内容被改动。 |
ON_CBN_EDITUPDATE | 编辑框内容更新显示。 |
ON_CBN_ERRSPACE | 组合框不能为某个特殊请求分配足够的内存。 |
ON_CBN_SELENDCANCEL | 用户的选择被取消。 |
ON_CBN_SELENDOK | 用户选择了一个项目并且通过回车键或按下鼠标而隐藏组合框的下拉列表。 |
ON_CBN_KILLFOCUS | 组合框失去焦点。 |
ON_CBN_SELCHANGE | 选择发生变化。 |
ON_CBN_SETFOCUS | 组合框获得输入焦点。 |
// 组合框的创建 // 创建列表控件 m_ctrComboBox.Create(WS_VISIBLE | WS_CHILD | WS_BORDER | CBS_DROPDOWN, CRect(400, 50, 470, 150), this, IDC_COMBOX1); // 添加条目 CString Item[9] = {"Item1", "Item2", "Item3", "Item4", "Item5", "Item6", "Item7", "Item8", "Item9"}; for (int i = 0; i < 9; i++) m_ctrComboBox.AddString(Item[i]); // 选中第4个条目 m_ctrComboBox.SetCurSel(3); …… // 通知消息响应函数的声明(在头文件中) //{{AFX_MSG(CSample02View) afx_msg void OnCbnSelChange(); //}}AFX_MSG DECLARE_MESSAGE_MAP() …… // 对通知消息的响应处理(在实现文件中) BEGIN_MESSAGE_MAP(CSample02View, CView) //{{AFX_MSG_MAP(CSample02View) ON_CBN_SELCHANGE(IDC_COMBOX1, OnCbnSelChange) //}}AFX_MSG_MAP END_MESSAGE_MAP() …… void CSample02View::OnCbnSelChange() { // 得到当前选中条目的索引 int Index = m_ctrComboBox.GetCurSel(); // 得到此条目的内容 char Text[20]; m_ctrComboBox.GetLBText(Index, Text); // 以信息框报告得到的内容 AfxMessageBox(CString(Text)); } |
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者