VC++中向listbox中addstring,但是程序中加入的内容不显示

listbox对应变量是CListBoxm_explain,在OnInitDialog初始化中,m_explain被赋值为“------Begin------”,这里都可... listbox对应变量是CListBox m_explain,在OnInitDialog初始化中,m_explain被赋值为“------Begin------”,这里都可以显示。后面再运行的过程中,边绘制动画边想m_explain中添加文字。主代码如下:
BOOL CMyDialog::DoInsertSort(int num[], int number)
{
for ( int i = 1; i < number; i++ ) //从第二个数据开始,
{
ShowCode1(num,i,number);//用来说明最外层循环中当前变量的值,如:“外层循环:i值为X,i值小于size值,进入循环”
ShowColor1(num,i);//用来闪烁当前插入元素矩形的函数
Sleep(m_global_speed*2);
for ( int j = i; j > 1 ; j -- )
{.......//略}
}
return 1;
}

在ShowCode1中对m_explain的内容进行AddString。
void CMyDialog::ShowCode1(int num[], int i, int number)
{
CString loadstrg;
CString string1,string2;
string1.Format("%d",i); //将变量组装到字符串中
string2.Format("%d",number); //将变量组装到字符串中

loadstrg="外层循环:i值为";
int n = loadstrg.GetLength();
loadstrg.Insert(n,string1);
n = loadstrg.GetLength();
loadstrg.Insert(n,",size值为");
n = loadstrg.GetLength();
loadstrg.Insert(n,string2);
n = loadstrg.GetLength();
loadstrg.Insert(n,",i值小于size值,进入循环");
m_explain.InsertString(0,loadstrg);
}

关键是 那个listbox不显示添加的内容,只能显示“------Begin------”。
展开
 我来答
西瓜妈妈育儿助手
2012-04-13 · 新手妈妈育儿助手,24小时在线的育儿专家
西瓜妈妈育儿助手
采纳数:158 获赞数:549

向TA提问 私信TA
展开全部
先调试下,m_explain.InsertString(0,loadstrg);这句之前, loadstrg有没有得到你想要的字符串
追问
调试中loadstrg已经正确含有需要的字符串了。
同时我还发现,不是loadstring显示不出来,当DoInsertSort函数全部执行结束,listbox就突然一下子输出全部需要的语句。
这是m_explain.InsertString(0,loadstrg); 运行结束后的调试截图:
追答
CListBox的默认属性有sort,把属性-> sort勾去掉,看下,实在不行,用AddString,这个肯定没问题
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式