MFC中静态文本框实时显示求教
for(inti=0;i<5;i++){for(inti=0;i<5;i++){m_Y.Format("%d",i);m_P=i;UpdateData(false);m_...
for(int i=0;i<5;i++){ for(int i=0;i<5;i++){
m_Y.Format("%d",i); m_P=i;
UpdateData(false); m_Y.Format("%d",m_P); //m_P是编辑框的关联变量
Sleep(500); UpdateData(false); //且m_P默认值为0
}; Sleep(500);
}
如上,左边的可以看到静态文本框从0变化到4,但是右边的一直就显示0。请问这是怎么回事。 展开
m_Y.Format("%d",i); m_P=i;
UpdateData(false); m_Y.Format("%d",m_P); //m_P是编辑框的关联变量
Sleep(500); UpdateData(false); //且m_P默认值为0
}; Sleep(500);
}
如上,左边的可以看到静态文本框从0变化到4,但是右边的一直就显示0。请问这是怎么回事。 展开
2个回答
展开全部
我想问一下m_p是整形变量吗???
追问
m_P是一个double变量。我也试过定义一个double变量d,然后d=i,再m_Y.Format("%d",d); 这样也能连续变化。
追答
m_P是编辑框的关联变量
可能存在窗体刷新问题
也就是说m_p每分每秒都在初始化
你的sleep()函数搞得鬼
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
m_Y 类型错误
如果声明是
int m_P;
int m_Y;
++++++++++++++++++
m_P = i;
m_Y.Format("%d",m_P);
这样才对。
声明时是
double m_P;
double m_Y;
++++++++++++++++++
m_P = (double) i;
m_Y.Format("%f",m_P);
而且,在循环体内最好m_P是作为一个中间变量存在的,没有实际用途。
在声明中是
int m_Y;
右侧的代码可以直接写为:
for(int i=0;i<5;i++){
m_Y.Format("%d",i);
UpdateData(false);
Sleep(500);
}
如果声明是
int m_P;
int m_Y;
++++++++++++++++++
m_P = i;
m_Y.Format("%d",m_P);
这样才对。
声明时是
double m_P;
double m_Y;
++++++++++++++++++
m_P = (double) i;
m_Y.Format("%f",m_P);
而且,在循环体内最好m_P是作为一个中间变量存在的,没有实际用途。
在声明中是
int m_Y;
右侧的代码可以直接写为:
for(int i=0;i<5;i++){
m_Y.Format("%d",i);
UpdateData(false);
Sleep(500);
}
追问
m_P是一个double变量。我也试过定义一个double变量d,然后d=i,再m_Y.Format("%d",d); 这样也能连续变化。
追答
已更改回答内容,请重试。是你的Format的问题。double不是%d,是%f
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询