随笔-145  评论-173  文章-70  trackbacks-0
功能介绍:
两边都是ListBox控件,然后有两个按键,一个是从左向右调动,也就是把左边的数据剪切到右边。一个是从右往左的按钮,实现的也是相同的功能,就是剪切。

注意点:
在没有选中的 时候,要进行错误信息的判断,特别是要设置向右的按钮为disabled,否则会发生严重错误。
我们都知道,可能存在没有选择的情况,此时如果让按钮可以选择,那么就会发生错误。如果不加以判断,就会直接进行,于是做一个判断。

核心代码:
初始化代码:
    
    
// TODO: Add extra initialization here
    m_list1.AddString("张三");
    m_list1.AddString(
"李四");
    m_list1.AddString(
"王五");
    m_list1.AddString(
"小样");
    m_list1.AddString(
"败类");
    
if(m_list1.GetCurSel() == LB_ERR)    //如果未选中
        GetDlgItem(IDC_BUTTON1)->EnableWindow(FALSE);
    
if(m_list2.GetCurSel() == LB_ERR)
        GetDlgItem(IDC_BUTTON2)
->EnableWindow(FALSE);



void CTest20Dlg::OnAdd1to2() 
{
    
// TODO: Add your control notification handler code here
    UpdateData(TRUE);
    
int count = m_list1.GetCurSel();
    
if(count == LB_ERR)
        
return;    //如果未选中,直接返回
    CString str;
    m_list1.GetText(count,str);
    m_list1.DeleteString(count);
    m_list2.AddString(str);
    UpdateData(FALSE);
}


void CTest20Dlg::OnSelchangeList1() 
{
    
// TODO: Add your control notification handler code here
    GetDlgItem(IDC_BUTTON1)->EnableWindow(TRUE);
}


void CTest20Dlg::OnSelchangeList2() 
{
    
// TODO: Add your control notification handler code here
    GetDlgItem(IDC_BUTTON2)->EnableWindow(TRUE);
}


void CTest20Dlg::OnAdd2to1() 
{
    
// TODO: Add your control notification handler code here
        UpdateData(TRUE);
    
int count = m_list2.GetCurSel();
    
if(count == LB_ERR)
        
return;    //如果未选中,直接返回
    CString str;
    m_list2.GetText(count,str);
    m_list2.DeleteString(count);
    m_list1.AddString(str);
    UpdateData(FALSE);
}




上面的部分就是两个,一个是初始化代码,很简单,设置左边的姓名,一个是核心的操作代码,从左到右,具体的需要先获得索引,然后值,然后删除左边的,然后添加到右边的。而每次添加的时候不要忘记判断按钮是否可用,即是否有没有选中情况。

还有就是编辑框的消息,也就是上面仅仅一句话的代码,这个部分就是针对,一旦选择了ListBox控件,那么必定有一项,于是就可以设置响应的按钮为可用的了。。。

总结:
1.关联,用过很多了。类型关联和值关联。
2.API函数。GetTex(),DeleteString(),AddString(),GetCount(),GetCurSel()等等。
3.如何添加消息(event),熟练。
posted on 2010-02-06 23:57 deercoder 阅读(222) 评论(0)  编辑 收藏 引用

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   博问   Chat2DB   管理