CListBox用法总结

CListBox用法总结
用法
属性Style
Selection
Single — 单选
Multiple — 多选(LBS_MULTIPLESEL)
None — 不可选(LBS_NOSEL)
Sort
对应Style: LBS_SORT

Insert Item
int AddString(LPCTSTR lpszItem);
int InsertString(int nIndex,
LPCTSTR lpszItem);

Delete Item
int DeleteString(UINT nIndex);
//清空
void ResetContent();

Selection
int GetCurSel( ) const;
int SetCurSel(int nSelect);
int GetSelCount( ) const;
int GetSelItems(int nMaxItems,
LPINT rgIndex) const;
代码示例:获取选中项并输出
假设CListBox控件变量名为m_lbTest
// 1.Selection = Single-----------------------------------
int nSelIndex = m_lbTest.GetCurSel();
if (nSelIndex == LB_ERR) //no item is currently selected
{
AfxMessageBox(TEXT(“no item is currently selected”));
}
else
{
CString cstr;
m_lbTest.GetText(nSelIndex, cstr);
AfxMessageBox(cstr);
}

// 2.Selection = Multiple----------------------------------
int nSelCnt = m_lbTest.GetSelCount();
if (nSelCnt == LB_ERR) //the list box is a single-selection list box
{
AfxMessageBox(TEXT(“the list box is a single-selection list box”));
return;
}
if (nSelCnt == 0) //no item is currently selected
{
AfxMessageBox(TEXT(“no item is currently selected”));
return;
}
int* pnSelIndex = new int[nSelCnt];
m_lbTest.GetSelItems(nSelCnt, pnSelIndex);
for (int i=0; i<nSelCnt; ++i)
{
CString cstr;
m_lbTest.GetText(pnSelIndex[i], cstr);
AfxMessageBox(cstr);
}
delete[] pnSelIndex;

Other
// 获取Text
void GetText(int nIndex,
CString& rString) const;
// Get/Set item associated data
DWORD_PTR GetItemData(int nIndex) const;
int SetItemData(int nIndex,
DWORD_PTR dwItemData);
注意:
1.GetItemData在没有通过SetItemData设置每一项的关联数据时返回NULL.
2.对应的GetItemDataPtr,SetItemDataPtr其实和GetItemData,SetItemData本质上是一模一样的
我们可以看下源码
int CListBox::SetItemDataPtr(int nIndex, void* pData)
{ return SetItemData(nIndex, (DWORD_PTR)(LPVOID)pData); }
看来增加这两个函数只是使意义更明确些,有点不懂微软了。

动态创建CListBox控件
黑色非标准3D边框:
CListBox *pMyListBox = new CListBox();
pMyListBox->Create(
WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_BORDER | LBS_NOTIFY | LBS_MULTIPLESEL,
CRect(10, 10, 100, 100),
this,
1234);
pMyListBox->SetFont(this->GetFont());

pMyListBox->AddString(TEXT(“123”));
pMyListBox->AddString(TEXT(“456”));
pMyListBox->AddString(TEXT(“789”));

标准3D边框:
CListBox *pMyListBox = new CListBox();
pMyListBox->CreateEx(
WS_EX_CLIENTEDGE,
TEXT(“LISTBOX”),
TEXT(""),
WS_CHILD | WS_VISIBLE | WS_TABSTOP | WS_BORDER | LBS_NOTIFY | LBS_MULTIPLESEL,
10, 10, 100, 100,
this->GetSafeHwnd(),
(HMENU)1234);
pMyListBox->SetFont(this->GetFont());

pMyListBox->AddString(TEXT(“123”));
pMyListBox->AddString(TEXT(“456”));
pMyListBox->AddString(TEXT(“789”));

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/466145.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

django 模板继承与重写

1、模板的继承一般用在别人给我们做好的HTML页面&#xff0c;当我们发现有很多的页面都具有相同的部分&#xff0c;这会我们应该考虑怎么能把他们相同的部分给提取出来&#xff0c;提取出来的部分我们作为一个单独的HTML文件叫做base.html&#xff0c;其余不同的部分我们在base…

SUN平台,光纤共享存储互斥失败导致的数据灾难恢复

作者&#xff1a;张宇&#xff0c;北亚数据恢复中心&#xff0c;转载请联系作者&#xff0c;如果实在不想联系作者&#xff0c;至少请保留版权&#xff0c;谢谢。[数据恢复故障描述]两台SPARC SOLARIS系统通过光纤交换机共享同一存储&#xff0c;本意是作为CLUSTER使用&#xf…

C++ —— C++类

C ——类 1、类 类是具有相同属性和行为的一组对象的集合,它为属于该类的全部对象提供了统一的抽象描述,其内部包括属性和行为两个主要部分。 class Clock { public:void SetTime(int new_hour, int new_minute,int new_second);void ShowTime(); private:int hour, minute, se…

一行代码还能这么秀

老早就想写这篇文章了&#xff0c;因为我经常用用这个方法来装逼&#xff0c;今天终于要把这个装逼方法分享给大家了。我从来不会告诉别人我自己的微信公众号关注早就已经超过40万了。看下面的截图这张截图建议大家保存下&#xff0c;如果遇到不公的事情&#xff0c;你就跟他说…

原来你是这样的Promise

1. Promise简介 promise是异步编程的一种解决方案&#xff0c;它出现的初衷是为了解决回调地狱的问题。 打个比方&#xff0c;我需要&#xff1a; --(延迟1s)--> 输出1 --(延迟2s)--> 输出2 --(延迟3s)--> 输出3 通常写法&#xff1a; setTimeout(()> {console.log…

VS2015 vc++ 项目出现new.h找不到的错误

安装完 VS2015 后&#xff0c;直接新建项目->win32控制台->运行&#xff0c;结果报错&#xff01;"无法打开包括文件: “stdio.h”: No such file or directory”"lnk1104:无法打开文件 ucrtd.lib ”奇了怪了&#xff0c;stdio.h 和 ucrtd.lib 都是 VS 自带的头…

C#——image与byte数组的转换

image to byte[] MemoryStream msnew MemoryStream(); image.Save(ms,System.Drawing.Imaging.ImageFormat.Gif ); byte[] imagedatams.GetBuffer (); byte[] to imageMemoryStream ms new MemoryStream(imagedata);img Drawing.Image.FromStream(ms);转载于:https://www.cnb…

Linux Select

Linux Select 在Linux中&#xff0c;我们可以使用select函数实现I/O端口的复用&#xff0c;传递给 select函数的参数会告诉内核&#xff1a; •我们所关心的文件描述符 •对每个描述符&#xff0c;我们所关心的状态。(我们是要想从一个文件描述符中读或者写&#xff0c;还…

搞懂图像二值化算法

传统的机器视觉通常包括两个步骤&#xff1a;预处理和物体检测。而沟通二者的桥梁则是图像分割&#xff08;Image Segmentation&#xff09;[1]。图像分割通过简化或改变图像的表示形式&#xff0c;使得图像更易于分析。举个例子&#xff0c;食品加工厂新进了一批肉鸡&#xff…

vs2015无法打开包括文件:“winapifamily.h”

老项目是vs2003下的项目。升级vs2015后&#xff0c;调试运行报错 C:\Program Files (x86)\Windows Kits\8.0\Include\um\winsdkver.h(21): fatal error C1083: 无法打开包括文件:“winapifamily.h”: No such file or directory 在项目包含目录中包含了这个Windows Kits\8.0\…

JavaWeb无限级分销结构分析

在现实生活中我们经常遇到由推荐人注册&#xff0c;比如一个购物平台,用户A推荐用户B注册&#xff0c;那当B购买商品成功时&#xff0c;用户A就会拿到相应的提成。只要是用户A推荐的用户购买商品成功后&#xff0c;A用户都会拿到提成。 当用户B推荐了用户C&#xff0c;那当用户…

如何在Word里面自动生成目录

1、对整个文本进行排版处理&#xff1b; 2、先将第一个一级标题选中&#xff0c;再点击工具栏“字体”前“正文”的下拉菜单&#xff0c;选择“标题1”&#xff1b; 3、此时会在此行前出现一个黑点&#xff0c;表明此行已被设为目录项&#xff08;前方黑点不会被打印&#xff0…

一个风骚的C语言操作

有个小伙伴在我们的嵌入式交流群里发了类似下面的一张图&#xff0c;顿时引起一阵骚动&#xff0c;我把源代码再附上&#xff0c;main.c 如下&#xff1a;#include <stdio.h> #include <string.h>static char city_name[][20] { #include "city.h" };in…

VS2003升级VS2010修改

BUG1: fatal error C1189: #error: MFC does not support WINVER less than 0x0601. Ple 在StdAfx.h中把#define WINVER 0X0500 //为 Windows98 和 Windows 2000 及更新版本改变为适当的值。改为&#xff1a; #define _WIN32_WINNT 0x0601 BUG2: https://www.cnblogs.com/slo…

Linux poll

Linux poll poll提供的功能与select类似&#xff0c;不过在处理流设备时&#xff0c;它能够提供额外的信息。 1、函数原型#include <poll.h>int poll(struct pollfd fd[], nfds_t nfds, int timeout);2、函数参数&#xff1a;&#xff08;1&#xff09;fd&#xff1a;一个…

SQL Server表分区-水平分区

SQL Server表分区&#xff0c;sql server水平分区 转自&#xff1a;http://www.cnblogs.com/knowledgesea/p/3696912.html 根据时间的&#xff0c;直接上T-SQL代码的水平分区&#xff1a;https://www.xuebuyuan.com/1817312.html?tdsourcetags_pcqq_aiomsg什么是表分区 一般情…

jQuery1.3.2 源码学习 -2 两个重要的正则表达式

32 // Is it a simple selector 33 isSimple /^.[^:#\[\.,]*$/ / / 表示这是正则表达式 ^ 表示开始部分 $ 表示结束部分 . 匹配除了 \n 之外的任何字符 [^character_group] 表示不在字符集合中 [^:#\[\.,] 表示除了冒号 (:), #, 前中括号([), 句号(.) 和逗号(,)之外的任何一个…

基于STC89C52的韦根数据接收

韦根是一种开放的通讯协议&#xff0c;具体官方介绍如下&#xff1a;Wiegand协议是国际上统一的标准&#xff0c;有很多格式&#xff0c;标准的26-bit 应该是最常用的格式。此外&#xff0c;还有34-bit 、37-bit 等格式。格式的含义如下&#xff1a;当给出这一串数字&#xff0…

头文件介绍

头文件介绍 axftmp1.h 是收集类模板(MFC模板类)的头文件&#xff0c;倘若你在程序中用到了CArray, CObList等数据结构时&#xff0c;那么就得加载该文件。通常在MFC编程中&#xff0c;为了使用集合、数组类&#xff0c;要在StdAfx.h中加入下面语句&#xff1a;#include <afx…

超乎想象,数据揭示自学成才的码农为何备受青睐

你是否想成为一个 Web 开发者&#xff0c;但却不知道从哪里开始&#xff1f; 你是否对学习编程语言的大量建议和繁琐细节感到审美疲劳&#xff1f; 你是否不确定需要遵循哪条路才能成为一个自信而又足智多谋的开发者&#xff1f; 如果你的回答是肯定的&#xff0c;那么不要担心…