MFC ListBox Control用法

2023-11-09

1添加数据
声明控件变量的类别为Control,变量类型为CListBox,变量名为m_ListBox_Content.
m_ListBox_Content.AddString(_T("123"));
m_ListBox_Content.AddString(_T("汉字"));
m_ListBox_Content.AddString(_T("English"));

m_ListBox_Content.AddString(_T("!@#$%^&*()"));


2获取数据
CString s;
m_ListBox_Content.GetText(1,s);
MessageBox(s,_T("取得第2行数据"),MB_OK);
s.ReleaseBuffer();

将会得到"汉字"这个字符串,如果没有得到"汉字"这个字符串,是因为ListBox的Sort属性设为True了.设为False之后就按照你编写的顺序写入(原来是这样 之前都没注意过)


3获取选择的数据
首先要将ListBox的Selection属性设置为Multiple;
int nSel;
nSel=m_ListBox_Content.GetCurSel();
CString s;
m_ListBox_Content.GetText(nSel,s);
MessageBox(s,_T("您选择的是"),MB_OK);

s.ReleaseBuffer();


4获取选择ListBox项的多个数据
首先要将ListBox的Selection的属性设置为Multiple
int nSel = m_ListBox_Content.GetSelCount();
CArray< int,int& > arrayListSel;
arrayListSel.SetSize(nSel);   
m_ListBox_Content.GetSelItems(nSel,arrayListSel.GetData());   
CString s = _T("");
for( int i=0; i< nSel; i++ )
{
m_ListBox_Content.GetText( arrayListSel[i], s);
MessageBox(s,_T("您选择的是"),MB_OK);

}


5双击删除所选项
添加一个ListBox的双击事件

m_ListBox_Content.DeleteString(m_ListBox_Content.GetCurSel());


Listbox控件可以设置属性为:

LBS_CHILD   :(默认)子窗口

LBS_Visible :(默认)可视

LBS_Multiplesel :可选择多行

LBS_Extendedsel :可以使用shift或ctrl选择多行

LBS_SORT:所有行按字母顺序进行排序


对Listbox进行操作:

Int listbox.AddString (  LPCTSTR     Str)   :对listbox的首行添加一个str的文本行,即此时nIndex为0;

Int listbox.DeleteString (uint nIndex)     :删除listbox中第nIndex行的文本行,注意nIndex是从0起始的;

int listbox.InsertString (uint xIndex, LPCTSTR  Str):在listbox中第nIndex行插入一个str的文本行;

Int listbox.GetCount (  ):获取listbox的行的总数目;

Int listbox.GetCurSel  ( ):得到listbox选中的文本行的行数。

Void listbox.ResetContent (  ):清除listbox中的所有数据;

Int listbox.GetCurCount ( ):获取listbox被选中的行的数目;

Int listbox.FindString  ( int nstart , LPCTSTR  Str ):从第nstart行开始起进行查找,查找Str的文本行;

Int listbox.SelectString ( int nstart, LPCTSTR Str ) :从第nstart行开始,选择包含Str字符串的那一行;


对Listbox中某一行进行双击操作,要产生一个响应函数的步骤:

BEGIN_MESSAGE_MAP()

END_MESSAGE_MAP()

之间添加响应函数的消息映射,如函数名为C**Dlg::OnLbnDblClk,添加下面代码

ON_LBN_DBLCLK(IDC_LIST1,&C**Dlg::OnLbnDblClk)

//IDC_LIST1为listbox控件的ID

然后在C**Dlg.h中添加函数OnLbnDblClk()的声明

最后在C**Dlg::OnLbnDblClk()函数中添加实现代码即可


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MFC ListBox Control用法 的相关文章

  • 调试 MFC:“mfc100.dll”找不到或打开 pdb

    我正在尝试在调试时进入 MFC 源代码 但是 Visual Studio 显然在加载适当的符号时遇到问题 C WINDOWS symbols dll mfc100 i386 pdb PDB 与图像不匹配 我检查了其他问题 通常建议启用 符号
  • MFC> 将对话框连接到对话框类

    我在现有的资源文件中定义了一个新对话框及其控件 我还创建了一个新文件 它将处理从此对话框生成的事件 但我不确定如何连接这两者 是声明enum IDD IDD NEW DIALOG 连接两者所需的一切 或者我们应该添加一些其他声明 在 MFC
  • VC++中如何判断链接是否存在?

    我有一个链接 我已通过正则表达式检查该链接是否是有效的 URL 现在 我想检查该链接是否是有效的 http 链接 即它不应该是不存在的链接 VC 6 0 MFC 有办法检查吗 一种选择是尝试使用以下方法从该 URL 获取数据URLOpenB
  • 如何向现有 Win32 C++ 项目添加 MFC 支持?

    我正在创建一个 C 应用程序 它使用 Qt 创建 GUI 但是 我需要使用依赖于 MFC 的第三方库 用于 CString 等 无论如何 是否可以将 MFC 添加到我的应用程序中以允许我使用这个库 或者我需要自己重写它 I saw 这个问题
  • 使用 CSplitterWnd 在 CChildFrame 中创建多个视图

    我正在使用 MFC MDI 我需要创建如下视图 我的 ChildWnd 分为两部分 它们是LeftView CView 和RightView CScrollView LeftView 分为两部分 TreeView 和 FormView 我怎
  • 如何在 MFC 中创建 GUI

    我需要能够即时创建指南 MFC中有没有办法做到这一点 我了解了如何在 net 中做到这一点 但我们还没有做到这一点 如果没有 您是否有一些我可以使用的代码的指针 don t forget to add Rpcrt4 lib to your
  • 跨平台 Windows / OS X 开发,具有大量现有代码库

    对于使用 MFC 和 WinAPI 用 C 编写的复杂应用程序 有大量现有代码库 需要将其移植到 Mac OS X 理想的解决方案是在不同平台之间拥有尽可能多的通用代码 尤其是诸如业务之类的代码逻辑 GUI 可能会有所不同 具体取决于跨平台
  • 创建非托管常规 MFC DLL 并从托管 C++ .NET 应用程序调用它时出现问题

    我有几个关于 DLL 的问题 我尝试了很多 但无法获得完整的图片 大多数示例都是用 C 等编写的 使用 VS2005 中的向导 我创建了一个非托管 MFC 常规 DLL 由于剩余代码 必须是 MFC 然后我尝试将其导入 VS2005 管理的
  • 如何发光最小。最大和关闭按钮?

    我按照以下指南使用 DWM API 创建自定义 Aero 框架 My work void CMainFrame OnActivate UINT nState CWnd pWndOther BOOL bMinimized CFrameWnd
  • 如何在VC++/MFC中替换字符串中两个子字符串之间的字符串?

    假设我有一个 CString 对象 strMain AAAABBCCCCCCDDBBCCCCCCCCDDDAA 我还有两个较小的字符串 例如 strSmall1 BB strSmall2 DD 现在 我想替换 strMain 中 strSm
  • 如何将基数词转换为序数词

    有没有一种简单的方法可以将数字 1 2 3 转换为 1st 2nd 3rd 并且以这种方式我可以为该函数提供一种语言并具有它会返回我目标语言的正确形式吗 标准 C stl 或 boost 都可以 MFC 或 ATL win32 api 或我
  • MFC CMenu 工具提示未显示

    我尝试使用类似的东西来设置 CMenu 项的工具提示 如所述here https stackoverflow com questions 2400180 mfc how to add tooltip in cmenu items 但它只是显
  • _CrtDumpMemoryLeaks( ) == 1 在第一行代码上?

    我正在开发一个 MFC Visual C 项目 据我了解MSDN http msdn microsoft com en us library d41t22sb 28v VS 100 29 aspx CrtDumpMemoryLeaks 应该
  • 实现批量记录获取

    在程序开始时 我需要将数据从 MS Access 数据库 mdb 读取到下拉控件中 这样做是为了每当用户在该控件中键入内容时 应用程序都可以自动完成 不管怎样 从数据库中读取数据花了很长时间 所以我想我应该实现批量行获取 这是我的代码 CS
  • 获取正在运行的程序的属性

    我想开发一个程序 其 ID 是一张牌 因为它在另一个正在运行的程序 例如扑克或红心游戏或其他程序 中播放 我首先尝试获取有关已运行的游戏程序的所需信息 但我从一开始就遇到了问题 我正在运行 MSVC 2013 并开发 MFC 应用程序 现在
  • 如何在 MFC 中创建带圆角的进度控件?

    我需要在 MFC 应用程序中创建一个带圆角的进度条 我尝试过使用 CreateRoundRectRgn 和 SetWindowRgn 的组合 它具有使控件完全消失的效果 我还尝试使用透明的 GIF 覆盖层 该覆盖层将绘制在进度栏的顶部 但我
  • 为什么#pragma optimize("", off)

    我正在审查一个 C MFC 项目 在某些文件的开头有这样一行 pragma optimize off 我知道这会关闭所有以下功能的优化 但这样做的动机通常是什么 我专门使用它来在一组特定代码中获得更好的调试信息 并在优化的情况下编译应用程序
  • 如何将十六进制字符串转换为无符号长整型?

    我有以下十六进制值 CString str str T FFF000 如何将其转换为unsigned long 您可以使用strtol作用于常规 C 字符串的函数 它使用指定的基数将字符串转换为 long long l strtol str
  • 更改 GLUT 调用以与 MFC/C++ 一起使用

    我有一个使用 GLUT 进行 OpenGL 渲染的程序 现在我需要它位于 MFC 项目内部 以便它可以与另一个程序组件一起使用 我已经按照这个教程进行操作 http www codeguru com cpp g m opengl openf
  • 使用 MFC 对象初始化 std::map 无法编译

    MFC初学者看这里 我尝试过初始化std map像这样 在CView的标题中 myprogramView h std map

随机推荐

  • openwrt 编译笔记

    错误一 Creating filesystem with parameters Size 50331648 Block size 4096 Blocks per group 32768 Inodes per group 6000 Inode
  • 基于OpenCV-Python实现的人脸识别

    在初步学习了数字图像处理的相关知识并在Matlab进行了初步的模拟后 我将学习的中重点转向了Python环境下的OpenCV库的学习 以此博客记录一下学习的进程 本文章代码主要参考OpenCV库源代码 刘波译的 OpenCV3计算机视觉Py
  • Apache Tomcat

    简介 简而言之 Tomcat是一个免费的开放源代码的Web应用服务器 属于轻量级应用服务器 Apache Tomcat Tomcat是Apache 软件基金会 Apache Software Foundation 的Jakarta 项目中的
  • 邻接矩阵广度优先遍历算法 连通图采用邻接表深度优先遍历的非递归过程 图G中距离顶点v的最短路径长度最大迪杰斯特拉

    1 采用邻接矩阵存储图的广度优先遍历算法的实现 参考教材算法6 5选作 2 一个连通图采用邻接表作为存储结构 设计一个算法 实现从顶点v出发的深度优先遍历的非递归过程 3 设计一个算法 求图G中距离顶点v的最短路径长度最大的一个顶点 设v可
  • 函数调用之回调函数

    重新回到CSDN 工作以来写第一个博客 不码代码 不追求高大上的专业术语 只求通俗的理解 以前听过回调函数 也研究过 但由于没有在实际中用过 所以也没太懂 每次一听到回调函数这个词 感觉很高大上 最近在工作上遇到了 而且被公司前辈广而用之
  • Pickle包的使用

    想要将Python程序运行中得到的字符串 列表 字典等数据 长久的保存下来 而不是简单的放入内存中关机断电就丢失数据 Pickle模块就是专门用来完成此功能的模块 它可以将对象转换为一种可以传输或存储的格式 它实现了基本的数据序列和反序列化
  • 如何保证token的安全

    接口的安全性主要围绕token timestamp和sign三个机制展开设计 保证接口的数据不会被篡改和重复调用 下面具体来看 Token授权机制 用户使用用户名密码登录后服务器给客户端返回一个Token 通常是UUID 并将Token U
  • Sqli-labs之Less-29和Less-30和Less-31

    Less 29 基于错误 GET 双服务器 单引号 字符型注入 服务器 两层 架构 注 截图等来自 MySQL注入天书 Less 29 服务器端有两个部分 第一部分为 tomcat 为引擎的 jsp 型服务器 第二部分为 apache 为引
  • 传输线的物理基础(十):特性阻抗的频率变化

    到目前为止 我们一直假设传输线的特性阻抗随频率保持不变 正如我们所见 从传输线前端看 输入阻抗与频率密切相关 毕竟 在低频时 远端开路的传输线的输入阻抗看起来像一个电容器 阻抗开始很高 然后下降得很低 特性阻抗是否随频率变化 在本节中 我们
  • 【Linux入门】Linux编译器gcc/g++基础

    目录 1 背景知识 2 gcc g 的用法 3 指令补充 3 1 ldd指令 3 2 file指令 4 Linux下的头文件 库 4 1 指令的库 4 1 1 动态库 4 1 2 静态库 4 1 3 动静态库的优缺点 5 gcc g 静态链
  • v-if 和 v-show的区别 vue面试题

    v for 指令 作用 遍历数组 并重复生成对应长度的相同标签 语法 列表渲染 v for item in 数组名 遍历下标 v for item index in items 注意点 这个指令写在哪一个元素身上 就重复生成哪一个元素 数组
  • 小程序用户开放接口调整时间-2021年4月28日24时

    官方实例demo
  • 【编译原理龙书笔记】(三)词法分析(附联系答案)(仍未完成)

    这篇博客是根据自己学习龙书的过程编写 因为博主习惯了英语环境 在强行从英语转化为中文的时候难免会有些不自然 请大家谅解 配套的练习题答案可以在 https github com Oh233 Dragon book exercise 看到 感
  • L2F:第二层转发协议--网络大典

    第二层转发协议 L2F 是一种用来建立跨越公用结构组织 如因特网 的安全隧道 为企业家庭通路连接一个 ISP POP 的协议 这个隧道建立了一个用户与企业客户网路间的虚拟点对点连接 第二层转发协议 L2F 允许链路层协议隧道技术 使用这样的
  • 高性能计算实验——矩阵乘法基于OpenMP的实现及优化

    高性能计算实验 矩阵乘法基于OpenMP的实现及优化 1 实验目的 1 1 通过OpenMP实现通用矩阵乘法 1 2 基于OpenMP的通用矩阵乘法优化 1 3 构造基于Pthreads的并行for循环分解 分配和执行机制 2 实验过程和核
  • 《数据结构》实验报告四:串的模式匹配(BF算法、KMP算法)

    一 实验目的 1 了解串的基本概念 2 掌握串的模式匹配算法的实现 二 实验预习 说明以下概念 1 模式匹配 串的模式匹配就是子串的定位运算 设有两个字符串 S 和 T S为主串 正文串 T为子串 模式串 在主串S中查找与模式串T相匹配的子
  • tomcat配置数据库连接池

    闲着没事复习了以前的笔记 看到了tomcat配置数据库连接池 感觉这个地方没什么太多的印象 查了一下百度 发现都差不太多 都需要配置三个地方 觉得太麻烦了 于是直接查了一下tomcat帮助文档 发现里面本身就有关于配置连接池的介绍 于是手动
  • python--自定义range方法, for循环原理

    range方法其实就是一个可迭代对象 for i in range 1 10 print i 1 2 3 4 5 6 7 8 9 接下来我们自己来定义一个range 来模拟range方法 先以两个参数的range方法为例 1 可以先以两个参
  • 分区统计算法实现(C++ GDAL)

    Arcgis和QGIS都有分区统计工具 geopanda库也有相关函数 但无法满足我们课题组的需求 其中Arcgis只能输出一张表格 还需要进行连接 QGIS只能输出至新shp文件 geopandas计算速度相比慢了点 我们课题组需要对上千
  • MFC ListBox Control用法

    1添加数据 声明控件变量的类别为Control 变量类型为CListBox 变量名为m ListBox Content m ListBox Content AddString T 123 m ListBox Content AddStrin