void CCharacterEditDlg::OnLbnSelchangeList1()
{
// TODO: 在此添加控件通知处理程序代码
((CListBox*)GetDlgItem(IDC_LIST1))->AddString("北京");
}怎么没反应?

解决方案 »

  1.   

    经过测试,你的代码木有问题
    可能是你的IDC_LIST1并不存在或与其他资源ID冲突(检查Resource.h)
    也有可能是CCharacterEditDlg::OnLbnSelchangeList1()根本没有执行
      

  2.   

    OnLbnSelchangeList1是每一条记录的单击事件吧,
    在Listbox没有记录前无论怎么点都不会有反应的。
    把((CListBox*)GetDlgItem(IDC_LIST1))->AddString("北京");加到一事件里就可以了。
    如button的单击事件里,或OnInitDialog都可以。
      

  3.   

    我也测试过了,直接放OnLbnSelchangeList1()里是没效果的,
    如果放其它的事件或初始化函数里就OK了
      

  4.   

    楼上2个说的都对了
    我来结贴
    OnLbnSelchangeList1()是处理鼠标单击listbox1的事件的,在其中
    ((CListBox*)GetDlgItem(IDC_LIST1))->AddString("北京");
    是可以响应的,不过有个前提就是listbox1中必须事前有数据。如果增加的这一条是第一条,单击就不会产生效果。
    ((CListBox*)GetDlgItem(IDC_LIST1))->AddString("北京");可以放在一个按钮中,CListBox*)GetDlgItem(IDC_LIST1))->AddString("上海");可以放在listbox1中,然后就可以看到效果了,单击按钮,会增加“北京”,单击北京会产生新的一条“上海”。