呵呵,我在这儿运行没问题呀!你最好用 ClassWizard 增加两个 ListBox 的成员变量,类型为 Control/CMyListBox;不要自己手工增加。
n 的作用很明显,就是记录被移动的 ListBox 的项目(item)数目(不出错的情况下,即是源 ListBox 被选中的项目的个数)。
i 的作用就是记录下一个要检查的项目的 index;如果当前一条从源 ListBox 被移动到目的 ListBox 中,那么下一个项目自然补充空缺,其 index 自然不变;如果当前项目没有被选中(不会从源 ListBox 移动到目的 ListBox),下一个要检查项目的 index 自然要 ++。for 循环中的条件说明:
GetCount() > 0 确保源 ListBox 还有剩余项目;
i < GetCount() 确保 i 不会超过剩余的项目;因为大多数情况下只有部分项目被移动到目的 ListBox 中,所以 GetCount() 会永远大于 0。(呵呵,我会写程序,但不会说明,希望你有空看一看热门图书《edyang 语言手册》)