
MFC,编辑框使用SetWindowText显示文本
第一次单击按钮,在第一行的六个编辑框中显示文本,第二次单击,在第二行六个编辑框中显示文本,以此类推:显示文本的函数为:voidCProcessManagementDlg:...
第一次单击按钮,在第一行的六个编辑框中显示文本,第二次单击,在第二行六个编辑框中显示文本,以此类推:显示文本的函数为:
void CProcessManagementDlg::ShowProcess(int t)
{
//build(0);
int ss;
int q;
CString cstr[6];
cstr[0].Format(_T("%d"),pcb[t].pid);
cstr[1].Format(_T("%d"),pcb[t].priority);
cstr[2]=pcb[t].statu;
cstr[3].Format(_T("%d"),pcb[t].A);
cstr[4].Format(_T("%d"),pcb[t].timep);
cstr[5].Format(_T("%d"),pcb[t].runtime);
for(ss = (6*t+1001);ss<=(6*t+1006);ss++)
{
GetDlgItem(ss)->SetWindowText(_T(cstr[ss-(6*t+1001)]));
}
} 其中6*t+1001为编辑框ID,为什么第二次单击时,在第二行显示了,但是第一行的内容却没有了,第三次单击时,第三行显示了,第二行却没有了。
单击按钮的函数为:
void CProcessManagementDlg::OnBuildprocess()
{
// TODO: Add your control notification handler code here
//char str_pid[10],str_priority[10],str_cal[10],str_timepiece[10],str_time[10];
build(0);
m_pronum.Format(_T("%d"),cur_pcb);
UpdateData(FALSE);
if((cur_pcb-1)==0)
{
ShowProcess(0);
}
else if((cur_pcb-1)==1)
{
ShowProcess(1);
}
else if((cur_pcb-1)==2)
{
ShowProcess(2);
}
else if((cur_pcb-1)==3)
{
ShowProcess(3);
}
else
{
ShowProcess(4);
}
}
谢谢了 展开
void CProcessManagementDlg::ShowProcess(int t)
{
//build(0);
int ss;
int q;
CString cstr[6];
cstr[0].Format(_T("%d"),pcb[t].pid);
cstr[1].Format(_T("%d"),pcb[t].priority);
cstr[2]=pcb[t].statu;
cstr[3].Format(_T("%d"),pcb[t].A);
cstr[4].Format(_T("%d"),pcb[t].timep);
cstr[5].Format(_T("%d"),pcb[t].runtime);
for(ss = (6*t+1001);ss<=(6*t+1006);ss++)
{
GetDlgItem(ss)->SetWindowText(_T(cstr[ss-(6*t+1001)]));
}
} 其中6*t+1001为编辑框ID,为什么第二次单击时,在第二行显示了,但是第一行的内容却没有了,第三次单击时,第三行显示了,第二行却没有了。
单击按钮的函数为:
void CProcessManagementDlg::OnBuildprocess()
{
// TODO: Add your control notification handler code here
//char str_pid[10],str_priority[10],str_cal[10],str_timepiece[10],str_time[10];
build(0);
m_pronum.Format(_T("%d"),cur_pcb);
UpdateData(FALSE);
if((cur_pcb-1)==0)
{
ShowProcess(0);
}
else if((cur_pcb-1)==1)
{
ShowProcess(1);
}
else if((cur_pcb-1)==2)
{
ShowProcess(2);
}
else if((cur_pcb-1)==3)
{
ShowProcess(3);
}
else
{
ShowProcess(4);
}
}
谢谢了 展开
3个回答
展开全部
你那个cur_pcb是什么? 估计是你传值的问题 当cur_pcb等于2时 int t 的值赋给 int ss 了!
然后你在判断的时候把你的编辑框ID也给改了啊! 当然就不是从第一个开始输出了 !把你的按钮里面添加的代码去掉 直接调用你那个ShowProcess();把函数参数也去掉 不用传值
然后你在判断的时候把你的编辑框ID也给改了啊! 当然就不是从第一个开始输出了 !把你的按钮里面添加的代码去掉 直接调用你那个ShowProcess();把函数参数也去掉 不用传值
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询