社区
界面
帖子详情
关于ListCtrl的问题
rainbow1216
2005-03-19 04:17:41
我现在要在界面上显示两个ListCtrl控件,和一个按钮,
我想实现的是 在第一个ListCtrl列表中选择一个项 点击按钮后选择的该项添加到第二个ListCtrl列表中,当我不在第一个ListCtrl列表中选择项时 点击按钮后 不在第二个列表中添加项.
希望能给出原码,谢谢
...全文
96
7
打赏
收藏
关于ListCtrl的问题
我现在要在界面上显示两个ListCtrl控件,和一个按钮, 我想实现的是 在第一个ListCtrl列表中选择一个项 点击按钮后选择的该项添加到第二个ListCtrl列表中,当我不在第一个ListCtrl列表中选择项时 点击按钮后 不在第二个列表中添加项. 希望能给出原码,谢谢
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
7 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
rainbow1216
2005-03-19
打赏
举报
回复
已经解决了.谢谢
rainbow1216
2005-03-19
打赏
举报
回复
可是这样只能对于第一次没有选择项进行判断,
当我选择一个项(例如 第二个项)后添加到了第二个列表中了,
这个时候我没有再选新的项,但是我还是点击了按钮,结果刚才选择的
第二个项又再次的被添加到了第二个列表中.
yzhouen
2005-03-19
打赏
举报
回复
了解了几个函数后,这个并不是什么困难的事
GetSelectionMark();//得到当前所指的行
GetItemText()//得到对应项的内容
InsertItem()//插入
Kudeet
2005-03-19
打赏
举报
回复
错了,我上面给的是listbox的,listctrl应该是
int i=m_firstctrl.GetSelectionMark(); //得到在第一个ListCtrl列表中选择项的索引
CString str;
if(i == -1) //表示没有选择
{
MessageBox("请先在左边的列表选择一项");
return;
}
str = m_firstctrl.GetItemText(i,0); //得到选择项对应的第一列字符串
m_secondctrl.InsertItem(0,""); //在第二个插入一行
m_secondctrl.SetItemText(0,0,str); //设置新插入行的第一列值
str = m_firstctrl.GetItemText(i,1); //得到选择项对应的第二列字符串
m_secondctrl.SetItemText(0,1,str);
......后面的类似操作
rainbow1216
2005-03-19
打赏
举报
回复
list control 控件没有你给的.GetCurSel()函数
legendhui
2005-03-19
打赏
举报
回复
POSITION pos =m_oldlistctrl.GetFirstSelectedItemPosition();
int nItem = m_oldlistctrl.GetNextSelectedItem(pos);
得到索引后,插入m_newlistctrl
Kudeet
2005-03-19
打赏
举报
回复
//这是按钮函数里的代码
int i=m_oldins.GetCurSel(); //得到在第一个ListCtrl列表中选择项的索引
CString str;
if(i==LB_ERR) //表示没有选择
{
MessageBox("请先在左边的列表选择一项");
return;
}
m_oldins.GetText(i,str); //得到选择项对应的字符串
m_newins.AddString(str); //把得到的字符串添加到第二个列表
wxpython
listctrl
属性_Wxpython高级组件wx.
ListCtrl
wx.
ListCtrl
组件wx.
ListCtrl
是一个项目列表的图形表示。一个wx.ListBox只能有一列,而wx.
ListCtrl
可以有多于一列。例如,一个文件管理器使用wx.
ListCtrl
来显示文件系统中的目录和文件。一个CD刻录程序在wx.
ListCtrl
中显示要刻录的文件。一个wx.
ListCtrl
可以以三种不同的样式使用。列表视图、报告视图或图标视图。这些样式由wx.ListCtr...
ListCtrl
Checkbox多选
问题
ListCtrl
Checkbox多选
问题
需求与目标: 标准的
Listctrl
是支持多选的,但这个多选只是把那些选中行变成高亮而已,我想要的效果是像svn提交代码的那个
listctrl
那样: 1.可以用鼠标框选,可以按ctrl或shift进行组合选择.这是
listctrl
本身支持的,只要设置对了风格就没
问题
,这个不是重点,跳过 :) 2.在选择了多行之后,点击鼠标或按下空格,能
mfc
listctrl
删除选中项的
问题
因为如果你要删除多行的话,往往要出错。比如,我现在要删除第0行和第1行(列表的行序列是从0开始的) m_
listctrl
.DeleteItem(0) m_
listctrl
.DeleteItem(1) 这样子是不行的 因为你删除第0行以后,下面的行会往上移,那么原来的第1行就变成了第0行,那么你再 m_
listctrl
.DeleteItem(1),那么删除的是原来的第2行,真麻烦, ...
ListCtrl
刷新小技巧
当你的程序中有用到
ListCtrl
控件时,而且
ListCtrl
中的Item又是可变的.不仅显示内容可变,而且显示条目也变化的时候.
你的程序设计可能会是这样
m_
listctrl
.DeleteAllItems();
....
然后再往
ListCtrl
一个一个的插入Item.
这样实现的话,
ListCtrl
中会闪动的厉害.尤其Item很多的情况下,有滚动条的情况下.
提供一个小技巧.
MFC中
ListCtrl
数据更新,显示位置不变
MFC 更新
ListCtrl
后,如何保持原显示位置大致不变? 考虑
问题
: 1.软件界面大小可调,可显示的列表行数也是动态变化的 2.
ListCtrl
中的数据可增、删、改 解决思路:用
ListCtrl
::GetTopIndex()方法获取可显示的第一行你(TopIndex),并用
ListCtrl
::GetCountPerPage()方法获取可显示的数据条数(nShowPerCount),最后用
ListCtrl
::EnsureVisible(nShowIndex,False)方法保证nShowIndex行可见,
界面
15,980
社区成员
115,867
社区内容
发帖
与我相关
我的任务
界面
VC/MFC 界面
复制链接
扫一扫
分享
社区描述
VC/MFC 界面
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章