问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

CComboBox:GetItemData是什么意思

发布网友 发布时间:2022-05-03 23:06

我来回答

2个回答

懂视网 时间:2022-05-04 03:27

1. CComboBox风 CBS_AUTOHSCROLL //自动水平滚动条 CBS_DISABLENOSCROLL //选中时始终显示滚动条 CBS_DROPDOWN //下拉式 CBS_DROPDOWNLIST //下拉列表 CBS_HASSTRINGS //为字符串提供GetText()函数 CBS_LOWERCASE //转换为小写 CBS_NOINTEGRALHEIGHT //指定

1. CComboBox风格

CBS_AUTOHSCROLL //自动水平滚动条
CBS_DISABLENOSCROLL //选中时始终显示滚动条
CBS_DROPDOWN //下拉式
CBS_DROPDOWNLIST //下拉列表
CBS_HASSTRINGS //为字符串提供GetText()函数
CBS_LOWERCASE //转换为小写
CBS_NOINTEGRALHEIGHT //指定组合框由应用程序来指定大小的
CBS_OEMCONVERT //OEM字符集转换
CBS_OWNERDRAWFIXED //所有项目的高度是一样的
CBS_OWNERDRAWVARIABLE //指定单一项目的高度
CBS_SIMPLE //简单风格
CBS_SORT //排序
CBS_UPPERCASE //转换为大写
CBS_AUTOHSCROLL //自动水平滚动条
CBS_DISABLENOSCROLL //选中时始终显示滚动条
CBS_DROPDOWN //下拉式
CBS_DROPDOWNLIST //下拉列表
CBS_HASSTRINGS //为字符串提供GetText()函数
CBS_LOWERCASE //转换为小写
CBS_NOINTEGRALHEIGHT //指定组合框由应用程序来指定大小的
CBS_OEMCONVERT //OEM字符集转换
CBS_OWNERDRAWFIXED //所有项目的高度是一样的
CBS_OWNERDRAWVARIABLE //指定单一项目的高度
CBS_SIMPLE //简单风格
CBS_SORT //排序
CBS_UPPERCASE //转换为大写


--------------------------------------------------------------------------------

2. 初始化数据

2).在程序初始化时动态添加

((CComboBox*)GetDlgItem(IDC_COMBO_CF))->AddString(strTemp);//strTemp为CString
((CComboBox*)GetDlgItem(IDC_COMBO_CF))->AddString(strTemp);//strTemp为CString


--------------------------------------------------------------------------------

3. 删除指定行

DeleteString( UINT nIndex ) //删除指定行
DeleteString( UINT nIndex ) //删除指定行


--------------------------------------------------------------------------------

4.插入指定位置

InsertString( int nIndex, LPCTSTR lpszItem ) //将行插入到指定位置
InsertString( int nIndex, LPCTSTR lpszItem ) //将行插入到指定位置


--------------------------------------------------------------------------------

5.删除所有项

((CComboBox*)GetDlgItem(IDC_COMBO_CF))->ResetContent(); //消除ID为IDC_COMBO_CF现有所有内容
((CComboBox*)GetDlgItem(IDC_COMBO_CF))->ResetContent(); //消除ID为IDC_COMBO_CF现有所有内容


--------------------------------------------------------------------------------

6.查找指定字符串

FindString( int nStartAfter, LPCTSTR lpszItem ) //可以在当前所有行中查找指定的字符串的位置,nStartAfter指明从那一行开始进行查找。
SelectString( int nStartAfter, LPCTSTR lpszItem ) //可以选中包含指定字符串的行
FindString( int nStartAfter, LPCTSTR lpszItem ) //可以在当前所有行中查找指定的字符串的位置,nStartAfter指明从那一行开始进行查找。
SelectString( int nStartAfter, LPCTSTR lpszItem ) //可以选中包含指定字符串的行


--------------------------------------------------------------------------------

7.选择其中某行

//(1)选中:
int iPos=((CComboBox*)GetDlgItem(IDC_COMBO_CF))->GetCurSel(); //当前选中的行。
//(2)设置
((CComboBox*)GetDlgItem(IDC_COMBO_CF))->SetCurSel(n) //设置第n行内容为显示的内容。
//(1)选中:
int iPos=((CComboBox*)GetDlgItem(IDC_COMBO_CF))->GetCurSel(); //当前选中的行。
//(2)设置
((CComboBox*)GetDlgItem(IDC_COMBO_CF))->SetCurSel(n) //设置第n行内容为显示的内容。


--------------------------------------------------------------------------------

8.获取总行数

int GetCount()//得到当前列表框中行的数量
int GetCount()//得到当前列表框中行的数量


--------------------------------------------------------------------------------

9.取得Combo Box框内容


((CComboBox*)GetDlgItem(IDC_COMBO_CF))->GetWindowText(strTemp); //将获取的值存放到CString类型变量strTemp中。

//如果定义了关联的变量,例如m_combo,可以直接获取:m_combo->GetWindowText(strTemp);

((CComboBox*)GetDlgItem(IDC_COMBO_CF))->GetLBText(n,strTemp); //其中n为从0开始的索引值

((CComboBox*)GetDlgItem(IDC_COMBO_CF))->GetWindowText(strTemp); //将获取的值存放到CString类型变量strTemp中。

//如果定义了关联的变量,例如m_combo,可以直接获取:m_combo->GetWindowText(strTemp);

((CComboBox*)GetDlgItem(IDC_COMBO_CF))->GetLBText(n,strTemp); //其中n为从0开始的索引值


--------------------------------------------------------------------------------

10.获得焦点

通常要判断控件是否获得了焦点,可以用GetFocus()函数
例如:if(GetFocus()==GetDlgItem(IDC_EDIT_VALUE2))//判断焦点是否在编辑框IDC_EDIT_VALUE2内。
但是combobox 的焦点不同,因为它是由edit和listbox两部分组成的,所以获得焦点要用GetParent():
if ((GetFocus()->GetParent())==GetDlgItem(IDC_COMBO_CF))
if ((GetFocus()->GetParent())==GetDlgItem(IDC_COMBO_CF))


--------------------------------------------------------------------------------

11.改变下拉框大小

在设计界面里,点击一下Combo Box的下拉箭头,此时出现的调整框就是Combo Box的下拉调整框


--------------------------------------------------------------------------------

12.常用消息映射宏

ON_CBN_DBLCLK 鼠标双击
ON_CBN_DROPDOWN 列表框被弹出
ON_CBN_KILLFOCUS / ON_CBN_SETFOCUS 在输入框失去/得到输入焦点时产生
ON_CBN_SELCHANGE 列表框中选择的行发生改变
ON_CBN_EDITUPDATE 输入框中内容被更新
使用以上几种消息映射的方法为定义原型如:afx_msg void memberFxn( );的函数,并且定义形式如ON_Notification( id, memberFxn )的消息映射。
如果在对话框中使用组合框,Class Wizard会自动列出相关的消息,并能自动产生消息映射代码。

热心网友 时间:2022-05-04 00:35

CComboBox:GetItemData是什么意思
树形列表控件,GetItemData的值,是由SetItemData决定的。
从这段代码看,SetItemData是将一个指针的地址(结构体指针首地址)赋值给了列表元素的Data,因此可以通过GetItemData获取这个指针的地址,并强制转换为结构体指针。

这里是一个常用技巧,因为指针地址实际就是一个int数值。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
苹果电脑电池充不进电苹果电脑充不进去电是怎么回事 苹果电脑不充电没反应苹果电脑充电指示灯不亮充不了电怎么办 狗狗更加忠诚护家、善解人意,养一只宠物陪伴自己,泰迪能长多大... 描写泰迪狗的外形和特点的句子 国外留学有用吗 花钱出国留学有用吗 !这叫什么号 百万医疗赔付后是否可以续保 前一年理赔过医疗险还能续保吗? 医疗住院险理赔后还能购买吗? 如何使用MYSQL数据库或MSSQL数据库 java中如果使用jxl实现从excel导入大量的数据到数据库? jxl读取excel导入到数据库,报错java.lang.NoClassDefFoundError: jxl/read/biff/BiffException JAVA中,JXL获取excel中的数据。我已经用for循环取到了excel中的数据,如何把取到的数据添加到数据库呢? java用jxl将Excel里的数据导入到sqlserver数据库 jxl导入excel到数据库的问题 1. 用SQL语句创建满足下列要求的数据库, 如何在Mac里调试网页在 iPhone 的显示效果 火狐浏览器的插件firepath怎么用啊 火狐浏览器怎样显示网页的代码,下载一个什么插件 如何使用Mac远程调试iPhone/iPad 中的网页 火狐 浏览器的firebug一直出现下载错误,都有想吧苹果砸了的心了,请问怎么解决啊 火狐浏览器的fire bugger怎么使用 如何在火狐浏览器上安装firebug工具进行调试 怎么在火狐浏览器安装firebug 火狐 浏览器怎样安装firebug VC6.0 怎么释放资源 VC++编程,ActiveX控件嵌入 VC++单文档编程,如何给一个对话框的多个按钮添加图片? VC/MFC关于父对话框与子窗体之间消息的传递? hbase shell 怎么退格删除输入的错误字母 hbase shell输入命令显示屏不动,光标也不动 hbase shell输错命令后按回车不执行,只换行怎么退出? hbase 强制删除所有表数据,为什么建hbase表还会有重命名 我在fedora上安装hbase-0.94.3-security时,进入到hbase shell后,输入任何命令都会报错 Hadoop HBASE shell编程中 所有指令提示提示无效参数? 启动hbase后使用hbase shell命令但是没有命令提示行即没有 hbase(main):001:0> 怎么将命令输入到hbase shell命令行 进入hbase shell后应该是001:0>这样子,但是后来按错了后变成 055:1>这样,如何还原? 怎么退出hbase(main):052:1" hbase shell模式下报错 shell怎样过滤掉hbase-site.xml文件中的注释项 hbase shell 什么意思 oracle10g 我装好以后,登录sqlplus时用户名和密码在那里可以得到 查询SQL数据库登录密码 登录的用户名称及密码,保存到session中。在其他有用户限制的数据库信息或操作页面中读取用户名及密码并进 sqlplus / as sysdba如何判断登录了本地还是远程的数据库? php 从数据库获取用户登录账号和密码,登录成功后进去主页面,点击个人信息,查看该 用户的所有信息 如何把已登录的用户的信息收集到数据库中 已知Oracle数据库服务器名和IP,如何得到数据库名称