题设条件:两个CListBox,分别为A,B。A中假设有数据(a,b,c,d)。
A,B中间有一按钮使A中的数据单个进入B中。
为了实现将A中的一条数据进入B中(代码未附),并且A中的光标自动下移,我编写代码如下:void bnMoveCursor(CListBox & clb){
int k=clb.GetCurSel();
if(k==-1){//没有选中任何一条数据
clb.SetCurSel(0);//选中ClistBox 中首条数据
}else{
clb.SetCurSel(++k);
}
}这样的情况下,在为选中任何一条数据的情况下,A中数据可以很顺利进入B中。但是,如果,在A中手动选择一条数据后,比如选择数据a,执行之后,a不会进入B中,而光标下移,b进入B中。我知道,这是由于(++K)的缘故。但是,不知如何修改。请各位帮忙。
如果各位还有什么好的办法实现的话,请不吝指教。
A,B中间有一按钮使A中的数据单个进入B中。
为了实现将A中的一条数据进入B中(代码未附),并且A中的光标自动下移,我编写代码如下:void bnMoveCursor(CListBox & clb){
int k=clb.GetCurSel();
if(k==-1){//没有选中任何一条数据
clb.SetCurSel(0);//选中ClistBox 中首条数据
}else{
clb.SetCurSel(++k);
}
}这样的情况下,在为选中任何一条数据的情况下,A中数据可以很顺利进入B中。但是,如果,在A中手动选择一条数据后,比如选择数据a,执行之后,a不会进入B中,而光标下移,b进入B中。我知道,这是由于(++K)的缘故。但是,不知如何修改。请各位帮忙。
如果各位还有什么好的办法实现的话,请不吝指教。
解决方案 »
- 关于CListCtrl单击和双击的问题
- Visual Studio 2005 怎么没调出Class Wizard?
- 问一个完成端口的问题,各位大侠帮帮忙
- 控制路由器各个端口速度的方法
- 求助:怎样隐藏在CScrollView中的ScrollBar,就像ACDSee一样?
- 关于ADO
- 有没有关于读取tif格式图像的源代码
- 今天是我糊涂吗,还是我一直这样,一个双向链表折腾问了好几个问题!!!这次是delete s;和 //free(s)的问题
- 我的问题怎样解决??急!!
- c++问题.
- vs2005编译结束时没有执行Application_BuildFinish(ByVal numError, ByVal numWarning)宏函数
- 如何实现图片的自转,是自转!!!
把clb.SetCurSel(++k);换成clb.SetCurSel(k++);试试
void CListboxDlg::OnButton1()
{
int k=m_list1.GetCurSel();
if(k==-1){//没有选中任何一条数据
m_list1.SetCurSel(0);//选中ClistBox 中首条数据
}else{
CString str;
m_list1.GetText(k,str);
m_list2.AddString(str);
m_list1.SetCurSel(++k);
}
}这样的代码没问题 手动选择也可以
/*int count = 0;
count = m_list.GetCount();
m_list.SetCurSel(count - 1);*/
::SendMessage(m_list.m_hWnd,WM_VSCROLL,MAKEWPARAM(SB_BOTTOM,0),NULL);
CString strTemp;
arg1.GetText(arg1.GetCurSel(),strTemp);
AfxMessageBox(strTemp);
if((arg2.FindString(-1,strTemp)==-1)){
arg2.AddString(strTemp);
}
else{
}
}
哪里出问题了呢?
你在bnMoveCursor中移动了光标
当然bnClickButton时就出问题了
所以移动不行啊。
if(k==-1){
m_listA.SetCurSel(0);
}else{
bnClickButton(m_listA,m_listB);
m_listA.SetCurSel(++k);
}问题基本解决了。